动态链接库(DLL)总结---解决名称粉碎问题(3)
来源:互联网 发布:文都医考app软件下载 编辑:程序博客网 时间:2024/05/17 04:57
名称粉碎:C++是支持函数重载,对于多个函数来说,其函数的名称是一样的,为了加以区分,在编译链接时,c++会按照自己的规则篡改函数的名称。这一过程成为“名称粉碎”,也有的称为“名称改编”。不同的编辑器会采用不同的编辑器进行改编。
我们使用LoadPE工具查看动态链接库(DLL)总结---简单使用(1)中生成的dll,查看下名称粉碎是个什么效果。
操作步骤如下:
1)加载要查看的dll
2)选择目录
3)在目录选项卡中打开如下图位置
4)就可以看到名称粉碎的效果了
如果我们不想产生名称粉碎该如何做呢?
1)在MyDllOne.h文件中的代码前面加上extern "C",如下
extern "C" __declspec(dllexport) int add(int, int);extern "C" __declspec(dllexport) int sub(int, int);
2)我们再使用LoadPE查看,效果如下:
注意:如果我们在生成dll的时候,使用了extern “C”,那么在使用该dll的时候也要使用,使用代码如下:
#include "stdafx.h"#include <windows.h> #pragma comment(lib,"Win32Dll1.lib") extern "C" __declspec(dllimport) int add(int, int);<span style="white-space:pre"></span>//含有extern "C"extern "C" __declspec(dllimport) int sub(int, int);int _tmain(int argc, _TCHAR* argv[]){printf("5+2 =%d \n", add(5, 2)); printf("5-2 =%d \n", sub(5, 2));system("pause");return 0;}
0 0
- 动态链接库(DLL)总结---解决名称粉碎问题(3)
- 动态链接库(DLL)总结---编译选项中使用名称粉碎机制(7)
- 动态链接库(DLL)总结
- 动态链接库(DLL)总结
- 动态链接库(DLL)总结
- 动态链接库(DLL)总结---DLL注入(9)
- 动态链接库(DLL)总结---简单使用(1)
- 动态链接库(DLL)总结---简单使用(2)
- 动态链接库(DLL)
- 动态链接库(DLL)
- 动态链接库(DLL)总结---动态链接库的创建与使用(5)
- 动态链接库(DLL)导出:需要注意的问题
- VS 动态链接库(.dll)的加载问题
- 动态链接库DLL引入问题
- 解决“无法定位序数***于动态链接库iertutil.dll上”的问题
- Windows 的动态链接库(DLL)中获得dll自身的名称
- 动态链接库(DLL)总结---从DLL中导出类(6)
- 动态链接库(DLL)总结---DLL三种调试(8)
- iOS面试题
- cocos2dx一路走来之<vs2013使用中遇到的问题>
- iOS面试题
- framework层 自定义按键事件转换
- 第二期项目订房网错误分析
- 动态链接库(DLL)总结---解决名称粉碎问题(3)
- 小的时候.by小雷
- 在Objective-C中关于self和super功能用法的疑惑与分析-康大亮
- BitBlt
- Tomcat7 设置最大连接数
- iOS笔记UI--进度条
- C语言的谜题
- 用getAttribute获取控制层获取的数据,显示在jsp页面
- C#学习之路,学习笔记 第七章 面向对象编程:类和对象(一)