[英]How to add function to export table from static library?
假設我們有test.dll
實際上由幾個 static 庫foo.lib
, bar.lib
(它們是用c/c++
編寫並由msvc
生成並具有pe/coff
格式)組成。 我想將foo.lib
、 bar.lib
中的函數添加到test.dll
的導出表中。 導出函數的一種方法是declspec(dllexport)
說明符。 但不幸的是,它不適用於 static 庫(因為 object 文件不能具有.edata 部分並動態鏈接)。 編譯和鏈接后,我們有test.dll
,它根本不導出函數。 我該如何解決這個難題?
我做了一些研究,發現使用def
文件可以解決這個問題。 但據我了解,我應該從foo.lib
, bar.lib
手動獲取損壞的 function 名稱列表並將列表插入到 def 文件中。 這對我來說似乎很難,也許有更好的解決方案?
關於從 DLL 重新生成 DEF 文件有一個非常相似的問題。 由於dumpbin
也理解 .LIB 文件,因此最佳答案也應該適合您。
這是一個自動化的過程,因此它會導出所有內容,甚至是那些並非真正需要的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.