DLL导入库生成的方法

DLL导入库生成的方法

当使用隐式链接的方法调用 DLL 中的导出函数时,需要代码的头文件、导入库lib和动态链接库。如何缺失导入库lib,将无法使用隐式链接的方式调用 DLL中的函数。幸运的是,通过一些手段可以从DLL中直接生成导入库lib。

生成导入库流程步骤如下:

从Dll中生成对应def文件,内容如下:

123456789101112131415161718include '..\implib.inc'; XYZLIBRARY.??4CXyz@@QAEAAV0@$$QAV0@@Z ord.1implib XyzLibrary.dll, ??4CXyz@@QAEAAV0@$$QAV0@@Z; XYZLIBRARY.??4CXyz@@QAEAAV0@ABV0@@Z ord.2implib XyzLibrary.dll, ??4CXyz@@QAEAAV0@ABV0@@Z; XYZLIBRARY.?Foo@CXyz@@QAEHH@Z ord.3implib XyzLibrary.dll, ?Foo@CXyz@@QAEHH@Z; XYZLIBRARY.GetXyz ord.4implib XyzLibrary.dll, GetXyz; XYZLIBRARY._GetXyz@0 ord.5implib XyzLibrary.dll, _GetXyz@0; XYZLIBRARY._XyzFoo@8 ord.6implib XyzLibrary.dll, _XyzFoo@8; XYZLIBRARY._XyzRelease@4 ord.7implib XyzLibrary.dll, _XyzRelease@4endlib

根据def文件生成DLL的导入库lib

自动生成导入库生成DLL导入库lib的方案有很多,最便利的方法是使用 ImpLib SDK 工具。具体教程如下:

从官网下载最新的 ImpLib SDK 并解压,将 ImpLib SDK 的bin目录添加到系统环境变量 PATH 下。

使用工具dll2def自动生成DLL的def文件

1\bin\dll2def c:\windows\system32\kernel32.dll kernel32.def

将生成的kernel32.def文件复制到 ImpLib SDK\src\Win32 文件下,然后运行 build_libs.bat,或者运行如下命令:

1\bin\fasm kernel32.def kernel32.lib

参考链接

DLL导出类和函数,by huangwang.

ImpLib SDK Guide,by implib.

相关推荐

泰国免税店必买清单及价格表 到泰国必买的22种东西
使命召唤自由怎么样

使命召唤自由怎么样

📅 11-11 👁️ 8032
【問題】關於ES回復機制 @流亡黯道 Path of Exile 哈啦板