在 Windows 下把符号从 DLL 中导出,常见有两种写法,分别对应导出类和导出 C 风格函数。

情况一:导出类

当需要把一个 C++ 类整体从 DLL 中暴露出去时,在类名前加上 _declspec(dllexport) 即可,类里的公有成员都会随之导出。

class _declspec (dllexport)  A
{

};

情况二:导出 C 函数

如果希望以 C 风格函数的形式导出,需要同时用 extern "C"_declspec(dllexport)extern "C" 的作用是禁用 C++ 的名字修饰,这样生成的符号名就是函数本身的名字,便于其他语言或模块按名字加载。

extern "C" void  _declspec (dllexport)  pri();
//没有修饰符,产生的名字就是函数名pri