如何从DL L 中生成L IB 文件 如何从dll 文件导出对应的lib 文件? Visual C++ 开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll 导出其对应的lib。 1、在命令行执行: dumpbin /exports yourdll.dll > yourdll.def 2、编辑 yourdll.def 文件,使之格式与.def 文件格式一致 。比如: EXPORTS; fn1; fn2; 3、在命令行执行: lib /def:yourdll.def /machine:i386 /out:yourdll.lib //为无 LIB 的DLL 制作 LIB 函数符号输入库 本文介绍了在 VC 中针对无 LIB 时的DLL 隐式链接,制作可供VC++使用的LIB 函数符号输入库。具体步骤如下: 一、使用VC++的工具DUMPBIN 将 DLL 中的导出函数表导出到一定义(.DEF)文件 EXAMPLE: DUMPBIN VideoDeCoder.dll /EXPROTS /OUT:VideoDeCoder.def 二、将导出的.DEF 文件整理为一符合.DEF 个数的函数导出文件 EXAMPLE: VideoDeCoder.DEF 文件内容如下 Dump of file VideoDeCoder.dll File Type: DLL Section contains the following exports for VideoDeCoder.dll 0 characteristics 3D49E48F time date stamp Fri Aug 02 09:46:55 2002 0.00 version 1 ordinal base 11 nu mber of fu nctions 11 nu mber of names ordinal hint RVA name 1 0 00010F60 _TM_ClearDecoderBu ff@4 2 1 00010E80 _TM_CloseDecoder@4 3 2 00010F00 _TM_DecodePictu re@4 4 3 00010ED0 _TM_DecodePictu reHeader@4 5 4 00010FD0 _TM_GetFileEnd@4 6 5 00011030 _TM_GetUValu e@4 7 6 00011060 _TM_GetVValu e@4 8 7 00011000 _TM_GetYValu e@4 9 8 00010E10 _TM_OpenDecoder@8 10 9 00010F30 _TM_Retu rnTy pe@4 11 A 00010F90 _TM_SetFileEnd@8 Su mmary 2000 .data 1000 .rdata 1000 .reloc 15000 .tex t 按照以下方法整理: 1)添加 LIB 说明 LIBRARY "VideoDeCoder" ;"x x "为 DLL 名称 DESCRIPTION "VideoDeCoder library " 2)去掉导出函数说明端以外的内容,在 LIB 说明下添加 "EXPROTS" 说明导出函数 LIBRARY "VideoDeCoder" DESCRIPTION "VideoDeCoder library " EXPORTS ordinal hint RVA name 1 0 00010F60 _TM_ClearDecoderBu ff@4 2 1 00010E80 _TM_CloseDecoder@4 ...