查看VC++生成的dll的方法或函数名[dumpbin使用方法]
2013-05-06 20:31
411 查看
来源: http://www.rczjp.cn/HTML/101227/20105127095149.html
查看VC++生成的dll的方法或函数名[dumpbin使用方法]
详细讲解dumpbin的使用方法
首先我们自己做个dll来测试下,内容如下:
#include "stdafx.h"
#include <stdio.h>
extern "C" __declspec(dllexport) int Max(int a,int b)
{
return a>b?a:b;
}
extern "C" __declspec(dllexport) int Min(int a,int b)
{
return a>b?b:a;
}
//此示例来自CSDN
extern "C" __declspec(dllexport) void GetName(char*
buffer, int* size)
{
printf("before copy the length is:%d\n", *size);//写数据前buffer的容量
char temp[] = "hello,world";
strcpy(buffer,temp); //模拟写数据
printf("OK, string is:%s\n", buffer);
*size = (int)strlen(temp);
printf("after copy the length is:%d\n", *size);//写数据后buffer的容量
}
生成一个MyVC.dll的文件,在这个文件中我们可以看到有三个方法:Max,Min,GetName
好了,现在我们使用dumpbin来看看这三个方法的位置,下次我们拿到新的dll的时候,我们就可以查看有哪些方法
进入VS的命令提示符,来到dll所在地址,比如我把它放到 C:\WINDOWS\system32文件夹下面
那么输入 cd C:\WINDOWS\system32
来到此目录下,输入 dumpbin /all MyVC.dll>result.txt
回车后,我们就可以看到一个 result.txt 文本文档,打开来看下,查找下其中一个方法名,可以看出有两个地方存在:
RAW DATA #3
100169C0: 47 65 74 4E 61 6D 65 40 38 00 5F 4D 61 78 40 38 GetName@8._Max@8
100169D0: 00 5F 4D 69 6E 40 38 00 00 00 00 00 00 00 00 00 ._Min@8.........
MyVC.pdb
ordinal hint RVA name
1 0 0001107D _GetName@8 = @ILT+120(_GetName@8)
2 1 0001111D _Max@8 = @ILT+280(_Max@8)
3 2 000110F5 _Min@8 = @ILT+240(_Min@8)
粗体标识出来的就是方法名
如果想了解怎么在C#中调用C++的dll的方法,请参考:
http://rczjp.cn/HTML/101226/20102826122850.html
查看VC++生成的dll的方法或函数名[dumpbin使用方法]
详细讲解dumpbin的使用方法
首先我们自己做个dll来测试下,内容如下:
#include "stdafx.h"
#include <stdio.h>
extern "C" __declspec(dllexport) int Max(int a,int b)
{
return a>b?a:b;
}
extern "C" __declspec(dllexport) int Min(int a,int b)
{
return a>b?b:a;
}
//此示例来自CSDN
extern "C" __declspec(dllexport) void GetName(char*
buffer, int* size)
{
printf("before copy the length is:%d\n", *size);//写数据前buffer的容量
char temp[] = "hello,world";
strcpy(buffer,temp); //模拟写数据
printf("OK, string is:%s\n", buffer);
*size = (int)strlen(temp);
printf("after copy the length is:%d\n", *size);//写数据后buffer的容量
}
生成一个MyVC.dll的文件,在这个文件中我们可以看到有三个方法:Max,Min,GetName
好了,现在我们使用dumpbin来看看这三个方法的位置,下次我们拿到新的dll的时候,我们就可以查看有哪些方法
进入VS的命令提示符,来到dll所在地址,比如我把它放到 C:\WINDOWS\system32文件夹下面
那么输入 cd C:\WINDOWS\system32
来到此目录下,输入 dumpbin /all MyVC.dll>result.txt
回车后,我们就可以看到一个 result.txt 文本文档,打开来看下,查找下其中一个方法名,可以看出有两个地方存在:
RAW DATA #3
100169C0: 47 65 74 4E 61 6D 65 40 38 00 5F 4D 61 78 40 38 GetName@8._Max@8
100169D0: 00 5F 4D 69 6E 40 38 00 00 00 00 00 00 00 00 00 ._Min@8.........
MyVC.pdb
ordinal hint RVA name
1 0 0001107D _GetName@8 = @ILT+120(_GetName@8)
2 1 0001111D _Max@8 = @ILT+280(_Max@8)
3 2 000110F5 _Min@8 = @ILT+240(_Min@8)
粗体标识出来的就是方法名
如果想了解怎么在C#中调用C++的dll的方法,请参考:
http://rczjp.cn/HTML/101226/20102826122850.html
相关文章推荐
- 使用dumpbin命令查看dll导出函数及重定向输出到文件(VS自带)
- 使用dumpbin命令查看dll导出函数及重定向输出到文件
- 使用dumpbin命令查看dll导出函数及重定向输出到文件
- 工作问题积累(十九)使用dumpbin命令查看.dll(动态链接库)中导出函数
- Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)
- 使用dumpbin 查看lib或 dll 中函数名和参数
- 使用dumpbin命令查看DLL导出函数列表
- VC生成的dll中导出函数名三种方法
- 使用dumpbin(vs自带工具)命令查看dll、lib,导出函数(copy)
- 使用dumpbin命令查看dll导出函数及重定向输出到文件【轉】
- VC++ 调用 C#生成DLL的两种方法
- DEV-CPP中生成和使用DLL的方法
- 使用vc 编译 wpcap.dll(WpcapSrc_4_0_2.zip版本)时 struct sockaddr_storage编译通不过的解决方法.
- 【原创】PB调用SAP的Web Service结构体数组参数方法详解(使用C#调用Web Service生成dll)
- ucosII的CPU使用率查看即OSStatInit()函数的使用方法
- VC下动态库DLL、静态库LIB的编写和使用方法
- 不用工具查看dll的导出函数名的方法!
- BCB下使用的VC生成的DLL
- Effective c++之 06 不想使用编译器自动生成函数的方法
- VC与Matlab混合编程——基于编译m函数为DLL的方法