关于P/Invoke(2)

来源:互联网 发布:egg软件 编辑:程序博客网 时间:2024/04/25 10:23

可以使用 __declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数
当尝试导出 C++ 修饰函数名时,这种便利最明显。 由于对名称修饰没有标准规范,因此导出函数的名称在不同的编译器版本中可能有所变化。 如果使用 __declspec(dllexport),仅当解决任何命名约定更改时才必须重新编译 DLL 和依赖 .exe 文件。
若要导出函数,__declspec(dllexport) 关键字必须出现在调用约定关键字的左边(如果指定了关键字)
说明说明
__declspec(dllexport) 不能应用于具有 __clrcall 调用约定的函数。
生成 DLL 时,通常创建一个包含正在导出的函数原型和/或类的头文件,并将 __declspec(dllexport) 添加到头文件中的声明中。 若要提高代码的可读性,请为 __declspec(dllexport) 定义一个宏并对正在导出的每个符号使用该宏:

#define DllExport   __declspec( dllexport )

https://msdn.microsoft.com/zh-cn/library/a90k134d.aspx

0 0