dllexport, dllimport

Microsoft 专用

dllexport 和 dllimport 存储类的属性是特定于 Microsoft 的扩展到 C 和 C++ 语言。 可以使用它们导出和导入函数、数据和对象之间来回 DLL。

__declspec( dllimport ) declarator __declspec( dllexport ) declarator

备注

这些特性显式定义 DLL 的接口使其客户端,可以是可执行文件或其他 DLL。 声明函数,当 dllexport 不需要模块定义 (.def) 文件,至少有关导出函数的规范。 dllexport 属性替换 __export 关键字。

如果选件类被标记的 declspec (dllexport),选件类模板的所有专用化在选件类层次结构的隐式标记为 declspec (dllexport)。 这意味着选件类模板显式实例化,并选件类的成员必须定义。

函数的dllexport 显示其修饰名的功能。 对于 C++ 功能,其中包括名称重整。 对声明为 extern“C”的 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++关键字