欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Tools】pexports生成标准def文件以及根据dll生成引导库lib的方法

程序员文章站 2022-06-24 22:33:51
...

###Date: 2018-2-4

=================================================================


1、根据dll生成引导库lib的方法


     在程序使用Dll有两个加载方式,一种是动态方式,就是LoadLibrary载入Dll,然后用GetProcAddress来加载需要使用的Dll函数。另一种就是静态连接方式,将dll生成的lib,加入到工程中,然后就可以很方便的调用。

我们知道很多dll在发布时不提供lib,没有lib我们就不能静态的加载,所以得想办法来生成一个lib,在vs2005中有这样的一个命令

不过我们还需要一个def文件,怎样来获得一个def文件哪?

我们知道def是一个库导出文件 简单的格式是:EXPORTS  和 一些导出函数

我们可以用vc6自带的一个depends来查看dll中有哪些导出函数,来手动做一个.def文件,但是这种.def文件是不标准的,在下面第2条中讲述采用pexports.exe生成标准def文件的方法。

 

将xxx.dll和xxx.def,放到一个文件夹中,启动“Visual Studio 2005 命令提示”

将工作目录切换到放有xxx.dll和xxx.def的文件夹中输入:

lib /def:xxx.def /MACHINE:x86

这样将会产生一个xxx.lib了,将此lib文件和dll文件拷到工程中,就可以进行静态链接了。


2、利用pexports.exe生成标准def文件的方法


pexports是MinGW中扩展的def文件生成工具。


The packages within the MinGW/Extension directory are supported by theMinGW development team; they provide useful facilities, but they are notconsidered essential for a basic MinGW installation.


下载地址:https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/


使用方法:

pexports.exe -v libxxx.dll > libxxx.def



参考:http://blog.csdn.net/joimson/article/details/4576614