dllexport, dllimport
Только для систем Microsoft
Атрибуты класса хранения dllexport и dllimport расширения для систем Microsoft для языков C C и C-++.Их можно использовать, чтобы экспортировать и импортировать функции, данные и объекты на или из библиотеки DLL.
__declspec( dllimport ) declarator __declspec( dllexport ) declarator
Заметки
Эти атрибуты определяют явно интерфейс DLL в его клиента, который может быть исполняемым файлом или другой библиотеки DLL.Объявление функции как dllexport позволяет обходиться файла определения модуля (DEF), по крайней мере по отношению к спецификации экспортированных функций.Атрибут dllexport заменяет ключевое слово __export.
Если класс отмечена спецификация (dllexport), все специализации шаблонов класса в иерархии классов неявно помечены как спецификация (dllexport).Это означает, что шаблоны класса явно создаются и члены класса должна быть.
функции dllexport предоставляет функциональные возможности со своим внутренним именем.Для функций C C-++, в том числе корежить имени.Для функций C или функций объявленным как модификатор extern "C", в том числе оформление платформы, основанный на соглашении о вызове.Если вы не хотите оформление имен следует использовать def-файл (ключевое слово ЭКСПОРТЫ ).
При объявлении dllexport или dllimport, необходимо использовать расширенный синтаксис атрибутов и ключевое слово __declspec.
Пример
// Example of the dllimport and dllexport class attributes
__declspec( dllimport ) int i;
__declspec( dllexport ) void func();
Кроме того, чтобы сделать код более удобочитаемым, можно использовать определения макроса.
#define DllImport __declspec( dllimport )
#define DllExport __declspec( dllexport )
DllExport void func();
DllExport int i = 10;
DllImport int j;
DllExport int n;
Дополнительные сведения см. в следующих разделах.
Конец раздела для систем Microsoft