我有2个关于导出函数名称的问题。 我浏览了MSDN示例:
Creating and Using a Dynamic Link Library (C++)
.def
文件。正如MSDN所述:
“C ++函数的dllexport将公开函数与C ++名称变形”我想知道为什么这样做。如果我删除__declspec(dllexport)
resp。宏而使用
#pragma comment(linker, "/EXPORT:"__FUNCTION__"="__FUNCDNAME__)
在函数体内,例如:
double __stdcall ExternalAdd(double arg1, double arg2)
{
#pragma comment(linker, "/EXPORT:"__FUNCTION__"="__FUNCDNAME__)
return arg1 + arg2;
}
我收到链接器错误。为什么呢?
dumpbin /Exports
显示:
ExternalAdd = @ILT+720(?ExternalAdd@@YGNNN@Z)
lib上的 dumpbin /Headers
显示:
Symbol name : ExternalAdd
...
Name : ExternalAdd
非常感谢你的帮助。