日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dll生成lib

發(fā)布時(shí)間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dll生成lib 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來自http://suddymail.org/show-160-1.html
沒有嘗試過,僅供參考。
其他鏈接:http://hi.baidu.com/songxiuying/item/af67755203840f948d12ed6d


為無LIB的DLL制作LIB函數(shù)符號(hào)輸入庫(kù) ??
? 本文介紹了在VC中針對(duì)無LIB時(shí)的DLL隱式鏈接,制作可供VC++使用的LIB函數(shù)符號(hào)輸入庫(kù)。具體步驟如下: ??
? ??
? ? 一、使用VC++的工具DUMPBIN將DLL中的導(dǎo)出函數(shù)表導(dǎo)出到一定義(.DEF)文件 ??
? EXAMPLE: ? ??
? ??
? DUMPBIN ? VideoDeCoder.dll ? /EXPROTS ? /OUT:VideoDeCoder.def ??
? ? 二、將導(dǎo)出的.DEF文件整理為一符合.DEF個(gè)數(shù)的函數(shù)導(dǎo)出文件 ??
? EXAMPLE:VideoDeCoder.DEF ? 文件內(nèi)容如下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 ? number ? of ? functions ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 11 ? number ? of ? names ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ordinal ? hint ? RVA ? ? ? ? ? ? name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 ? ? ? ? 0 ? 00010F60 ? _TM_ClearDecoderBuff@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 ? ? ? ? 1 ? 00010E80 ? _TM_CloseDecoder@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3 ? ? ? ? 2 ? 00010F00 ? _TM_DecodePicture@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 ? ? ? ? 3 ? 00010ED0 ? _TM_DecodePictureHeader@4 ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5 ? ? ? ? 4 ? 00010FD0 ? _TM_GetFileEnd@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6 ? ? ? ? 5 ? 00011030 ? _TM_GetUValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7 ? ? ? ? 6 ? 00011060 ? _TM_GetVValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8 ? ? ? ? 7 ? 00011000 ? _TM_GetYValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 9 ? ? ? ? 8 ? 00010E10 ? _TM_OpenDecoder@8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 10 ? ? ? ? 9 ? 00010F30 ? _TM_ReturnType@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 11 ? ? ? ? A ? 00010F90 ? _TM_SetFileEnd@8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? Summary ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2000 ? .data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1000 ? .rdata ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1000 ? .reloc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 15000 ? .text ? ??
? 按照以下方法整理: ??
? 1)添加LIB說明 ? LIBRARY ? "VideoDeCoder" ? ? ? ? ? ? ? ? ? ? ? ? ;"xx"為DLL名稱 ??
? DESCRIPTION ? "VideoDeCoder ? library" ? ? ??
? 2)去掉導(dǎo)出函數(shù)說明端以外的內(nèi)容,在LIB說明下添加 ? "EXPROTS" ? 說明導(dǎo)出函數(shù) ? LIBRARY ? "VideoDeCoder" ??
? DESCRIPTION ? "VideoDeCoder ? library" ??
? ??
? EXPORTS ??
? ? ? ? ? ? ? ? ? ? ? ? ? ordinal ? hint ? RVA ? ? ? ? ? ? name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 ? ? ? ? 0 ? 00010F60 ? _TM_ClearDecoderBuff@4 ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 ? ? ? ? 1 ? 00010E80 ? _TM_CloseDecoder@4 ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3 ? ? ? ? 2 ? 00010F00 ? _TM_DecodePicture@ ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4 ? ? ? ? 3 ? 00010ED0 ? _TM_DecodePictureH ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5 ? ? ? ? 4 ? 00010FD0 ? _TM_GetFileEnd@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6 ? ? ? ? 5 ? 00011030 ? _TM_GetUValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7 ? ? ? ? 6 ? 00011060 ? _TM_GetVValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8 ? ? ? ? 7 ? 00011000 ? _TM_GetYValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 9 ? ? ? ? 8 ? 00010E10 ? _TM_OpenDecoder@8 ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 10 ? ? ? ? 9 ? 00010F30 ? _TM_ReturnType@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 11 ? ? ? ? A ? 00010F90 ? _TM_SetFileEnd@8 ? ??
? 3)將所有的函數(shù)放至行首,去掉 ? "hint" ? 和 ? "RVA" ? 數(shù)據(jù),留下函數(shù)的序號(hào) ? "ordinal" ? ,在序號(hào)前加上 ? "@" ? 符號(hào) ? 形成 ? "_導(dǎo)出函數(shù)名@參數(shù)字節(jié)和 ? @序號(hào)" ? 此種格式(__stdcall ? 方式調(diào)用導(dǎo)出的函數(shù)符號(hào)是 ? "函數(shù)名稱@參數(shù)字節(jié)和"). ? 最后形成.DEF文件如下: ? LIBRARY ? "VideoDeCoder" ??
? ? ? DESCRIPTION ? "VideoDeCoder ? library" ??
? ??
? ? ? EXPORTS ??
? ? ? ? ? ? ? ??
? ? ? TM_ClearDecoderBuff@4 ? ? ? ? ? ? ? ? ? ? ? ? ? @1 ? ? ? ? ??
? ? ? TM_CloseDecoder@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @2 ? ? ? ? ??
? ? ? TM_DecodePicture@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @3 ? ? ? ? ??
? ? ? TM_DecodePictureHeader@4 ? ? ? ? ? ? ? ? ? ? @4 ? ? ? ? ??
? ? ? TM_GetFileEnd@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @5 ? ? ? ? ??
? ? ? TM_GetUValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @6 ? ? ? ? ??
? ? ? TM_GetVValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @7 ? ? ? ? ??
? ? ? TM_GetYValue@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @8 ? ? ? ? ??
? ? ? TM_OpenDecoder@8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @9 ? ? ? ? ??
? ? ? TM_ReturnType@4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @10 ? ? ? ? ??
? ? ? TM_SetFileEnd@8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @11 ? ??
? ? 三、使用VC++的LIB工具,帶/DEF:(.def文件名) ? /MACHINE:IX86(80X86機(jī)器),就輸出符合VC++格式的的LIB文件了. ? ??
? EXAMPLE:LIB ? /DEF:VideoDeCoder.def ? /MACHINE:IX86 ??
? ? 四、接時(shí)帶上LIB文件鏈接;注意的是當(dāng)有些動(dòng)態(tài)庫(kù)DUMPBIN的只有函數(shù)名,無"@nn"的參數(shù)格式,如C++Builder寫的DLL,輸出就只有 函數(shù)名符號(hào),鏈接時(shí)就會(huì)報(bào)錯(cuò): ? error ? LNK2002:unresolved ? external ? symbol ? "functionname@nn" ? 提示程序中引入的函數(shù)符號(hào)無法識(shí)別,這時(shí)只要將DEF文件中相應(yīng)的函數(shù)名稱改為functionname@nn方式,重新建立 ? LIB,重新鏈接即可.

總結(jié)

以上是生活随笔為你收集整理的dll生成lib的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。