winapi – VS 2012命名修改仍然适用于dll导出
发布时间:2020-12-14 05:54:38 所属栏目:Windows 来源:网络整理
导读:为什么名称修改仍然应用于func3()的签名. 我错过了什么?我已经回顾了这些先前提出的问题 1,2 没有引用DEF文件. // dllmain.cpp#include "stdafx.h"extern "C" __declspec( dllexport ) double __cdecl func1(int id,double t){ return(1.01);};extern "C" _
为什么名称修改仍然应用于func3()的签名.
我错过了什么?我已经回顾了这些先前提出的问题 1,2 没有引用DEF文件. // dllmain.cpp #include "stdafx.h" extern "C" __declspec( dllexport ) double __cdecl func1(int id,double t) { return(1.01); }; extern "C" __declspec( dllexport ) int __cdecl func2(int id) { return(2); }; extern "C" __declspec( dllexport ) int __cdecl func3(char* file) { return(1); }; ...... 这是dumpbin / EXPORTS的输出: 00000000 characteristics 51B78F5E time date stamp Tue Jun 11 13:58:06 2013 0.00 version 1 ordinal base 3 number of functions 3 number of names ordinal hint RVA name 1 0 00003870 func1 = func1 2 1 00003880 func2 = func2 3 2 00001A00 func3 = ?do_encoding@codecvt_base@std@@MEBAHXZ (protected: virtual int __cdecl std::codecvt_base::do_encoding(void)const ) 解决方法
导出不会被破坏,您可以清楚地看到dumpbin.exe输出中未编码的名称.你也看到了错位的名字.那个dumpbin.exe有点太有用了,也许,它还会读取.pdb文件来查找函数的实际名称.它显示在=的右侧
只需删除.pdb文件并再次运行dumpbin.exe即可查看差异. 你没有问题,它有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows 8共享目标与JQuery崩溃
- 我应该使用什么模拟器在FreeBSD上运行Windows作为来宾操作系
- 在Windows上使Perl像Linux一样工作(通配符param扩展)
- windows – 如何自动拒绝WSUS中的质量汇总更新
- windows-8 – 不允许在常规桌面应用程序中使用WinRT API的U
- windows-7 – 通过GP添加快捷方式 – 程序文件与程序文件(x
- windows – 两个DFS复制组类型之间有什么区别?
- windows – 如何生成一组用户所属的安全组列表?
- winapi – 仪器Windows 7蓝牙堆栈
- 是否可以在.NET DLL中添加/删除/更改嵌入式资源?
推荐文章
站长推荐
- windows – 使用标准USB闪存盘作为安全令牌
- 解决Windows10运行VMware Workstation出现与Devi
- windows-server-2003 – 无法授权DHCP服务器
- Windows用Eclipse来开发hadoop的WordCount的hell
- windows-phone-7 – 使用Visual Studio 2012(RTM
- win10激活错误,软件授权服务报告无法激活计算机怎
- windows – 从文件夹和子文件夹中复制前10个文件
- windows – 租用虚拟机进行测试
- DLL – 如何在Windows上的D语言程序中使用SQLite
- 避免在Windows Azure上支付超额费用?
热点阅读