Явный экспорт функций разделяемой библиотеки в Linux - PullRequest
37 голосов
/ 29 января 2010

Существует ли в Linux эквивалент нотации __declspec(dllexport) для явного экспорта функции из общей библиотеки? По какой-то причине с помощью набора инструментов, который я использую, функции, которые не являются членами класса, не отображаются в итоговом файле общей библиотеки.

Ответы [ 2 ]

67 голосов
/ 29 января 2010
__attribute__((visibility("default")))

И, насколько мне известно, нет эквивалента __declspec(dllimport).

#if defined(_MSC_VER)
    //  Microsoft 
    #define EXPORT __declspec(dllexport)
    #define IMPORT __declspec(dllimport)
#elif defined(__GNUC__)
    //  GCC
    #define EXPORT __attribute__((visibility("default")))
    #define IMPORT
#else
    //  do nothing and hope for the best?
    #define EXPORT
    #define IMPORT
    #pragma warning Unknown dynamic link import/export semantics.
#endif
29 голосов
/ 29 января 2010

http://gcc.gnu.org/wiki/Visibility

Это полное руководство по экспорту как в msvc, так и в gcc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...