【发布时间】:2011-05-28 18:15:13
【问题描述】:
这就是我现在声明导出函数的方式:
extern "C" __declspec(dllexport)
Iexport_class* __stdcall GetExported_Class();
当 VS2008 为此编译源时,生成的 dll 在其导出表下包含此:
_GetExported_Class@0
为了与其他编译器兼容,我需要将上面的装饰改成如下所示:
GetExported_Class
将调用约定更改为 __cdecl 会将其装饰成我想要的方式,但约定是错误的,所以我不能使用它。我需要按照 __cdecl 的外观装饰它,但使用 __stdcall 代替。
有没有办法做到这一点没有使用.def文件?是否有我可以传递给 link.exe 链接器的开关或选项,可以让它按照我想要的方式装饰导出名称?
谢谢
【问题讨论】:
标签: c++ dll export name-decoration