利用微软的dumpbin.exe我们可以方便的查看dll中的函数名字,为了能利用命令行,我们要首先把C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin设置为path环境变量,这个时候运行命令:
dumpbin -exports xx.dll
此时会出现一个问题,说是缺少mspdb100.dll ,这个时候我们从C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE中复制mspdb100.dll,运行上面的命令,发现OK,可以看到dll中的函数名字,但是问题在此时就又出现了,我们重新编译程序,会出现这样的错误:
fatal error C1902: 程序数据库管理器不匹配;请检查安装
这个时候我们把刚才复制过来的mspdb100.dll删除,然后再重新编译程序,发现错误就没了,难道以后要用dumpbin就必须这么麻烦吗,添加,然后删除?
答案是有的,我们需要从C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE把mspdbsrv.exe也复制到bin里面,这样再重新编译的时候就不会出错了?
不过还是不理解微软要这么做,放了一个exe在bin里面,却不把相关的依赖文件放进去?
实例程序:
addF.h
#ifndef _ADDFULL_H
#define _ADDFULL_H
extern "C