gpt4 book ai didi

c++ - Mangle dll 使用 DEF 文件导出名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:42 24 4
gpt4 key购买 nike

我正在尝试创建一个代理 dll 并遇到了这个问题。假设我有以下文件:

a.cpp:

extern "C" int __declspec(dllexport) func(int x) {return x;}

a.def:

EXPORTS
func
??4Test@@QAEAAU0@ABU0@@Z = func

然后我运行:

cl /c c.cpp
link /RELEASE /DLL /DEF:c.def /OUT:c.dll c.obj

dumpbin/exports c.dll 的输出显示导出了以下符号: 功能 ??4测试

“测试”导出名称的其余部分在哪里?有什么办法可以取回它吗?

最佳答案

在不使用 DEF 文件的情况下试一试:

extern "C" __declspec(dllexport) int __cdecl func(int x) {return x;}

现在它根本不应该破坏函数名称。

关于c++ - Mangle dll 使用 DEF 文件导出名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13589435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com