是否有link.exe的替代链接器?

时间:2013-11-20 20:32:29

标签: c++ windows dll linker dllexport

我正在使用代理DLL并希望使用" @"导出符号。他们的性格。但是,看起来这个字符对link.exe有特殊意义(实际上,对于lib.exe,我猜?)。给定一个C ++文件

extern "C" void f() { }

可以创建一个DLL,通过运行

f导出为foo
cl /LD exports.cpp /link /export:foo=f

但是一旦别名包含" @"字符,其后的所有内容(包括" @"本身)似乎被剥离,即以下所有内容都导出相同的foo符号:

cl /LD exports.cpp /link /export:foo=f
cl /LD exports.cpp /link /export:foo@=f
cl /LD exports.cpp /link /export:foo@foo=f
cl /LD exports.cpp /link /export:foo@@foo=f

我看到somebody else已经问过这件事;其他人证实了这种行为,但没有解决或解释发生了什么。所以我想知道:

是否有一个替代(易于访问)的Windows链接器,它允许我导出具有任意名称的符号?

0 个答案:

没有答案