Estoy construyendo una biblioteca compartida en Ubuntu 9.10. Quiero exportar solo un subconjunto de mis funciones de la biblioteca. En la plataforma de Windows, esto se haría usando un archivo de definición de módulo (.def
) que contendría una lista de los nombres externos e internos de las funciones exportadas de la biblioteca.¿Existe un archivo .def equivalente en Linux para controlar nombres de funciones exportadas en una biblioteca compartida?
Tengo las siguientes preguntas:
¿Cómo puedo restringir las funciones exportadas de una biblioteca compartida a los que yo quiero (es decir, un archivo .def equivalente)
El uso de archivos como .def un ejemplo, le puede dar una función de un nombre externo que es diferente de su nombre interno (útil para prevenir y conflictos de nombres también decorar nombres alterados, etc.)
en las ventanas que puedo usar el comando de exportación (IIRC) a ch Eck la lista de funciones y direcciones exportadas, ¿cuál es la forma equivalente de hacer esto en Linux?
En realidad no tiene que decorar con visibilidad definido como predeterminado, ya que es el valor por defecto ... –
@Fredrik Ullner: I no entiendo tu punto Si usa '-fvisibility = hidden', entonces tiene que restablecer la visibilidad a los valores predeterminados de los símbolos que no desea ocultar, de lo contrario, no se mostrarán los símbolos. –
"luego decore los símbolos que desea que sean visibles con __tributo __ ((visibilidad (" predeterminado ")))." No necesita hacer eso, ya que es el predeterminado. –