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 专用