在程序使用Dll有两个加载方式,一种是动态方式,就是LoadLibrary载入Dll,然后用GetProcAddress来加载需要使用的Dll函数。另一种就是静态连接方式,将dll生成的lib,加入到工程中,然后就可以很方便的调用。
我们知道很多dll在发布时不提供lib,没有lib我们就不能静态的加载,所以得想办法来生成一个lib,在vs2005中有这样的一个命令
不过我们还需要一个def文件,怎样来获得一个def文件哪?
我们知道def是一个库导出文件 简单的格式是:EXPORTS 和 一些导出函数
我们可以用vc6自带的一个depends来查看dll中有哪些导出函数,来手动做一个.def文件
将xxx.dll和xxx.def,放到一个文件夹中,启动“Visual Studio 2005 命令提示”
将工作目录切换到放有xxx.dll和xxx.def的文件夹中输入:
lib /def:xxx.def /MACHINE:x86
这样将会产生一个xxx.lib了,将此lib文件和dll文件拷到工程中,就可以进行静态链接了