Поделиться через


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

См. также

Ссылки

__declspec

Ключевые слова C++