为什么有的DLL导出函数带有@@AAE@PBX@Z@6 这样东西
编号:QA002059
建立日期: 1999年11月19日 最后修改日期:1999年11月19日
所属类别:
ybwen:
操作系统: winnt4.0 sp5
编程工具: c++ builder4.0
问题: 有一个DLL,请问怎样在能时导出的函数向如下这样?$S34@?1??Instance@CMSStringUtility@@SAAAV2@XZ@4EA @4
或??0AsnAcquirerID@@AAE@PBX@Z@6 这样。
请问他的DLL是如何做的,这样的函数又如何调用?
回答:
C++支持多态,所以编译时每次都都根据参数的类型和数量进行一些处理,其结果就是在正常的函数名之后加了一些符号和数字。你看到的这几个函数就是使用C++编译的。如果是使用VC++编译的,你无法在C++ Builder中调用,因为两者不兼容。如果使用C++ Builder编译的,你需要向作者索取头文件,然后调用。
此问题由李海回答。
| |
|
|
| |
|
|