簡體   English   中英

如何添加 function 從 static 庫導出表?

[英]How to add function to export table from static library?

假設我們有test.dll實際上由幾個 static 庫foo.libbar.lib (它們是用c/c++編寫並由msvc生成並具有pe/coff格式)組成。 我想將foo.libbar.lib中的函數添加到test.dll的導出表中。 導出函數的一種方法是declspec(dllexport)說明符。 但不幸的是,它不適用於 static 庫(因為 object 文件不能具有.edata 部分並動態鏈接)。 編譯和鏈接后,我們有test.dll ,它根本不導出函數。 我該如何解決這個難題?

我做了一些研究,發現使用def文件可以解決這個問題。 但據我了解,我應該從foo.libbar.lib手動獲取損壞的 function 名稱列表並將列表插入到 def 文件中。 這對我來說似乎很難,也許有更好的解決方案?

關於從 DLL 重新生成 DEF 文件有一個非常相似的問題 由於dumpbin也理解 .LIB 文件,因此最佳答案也應該適合您。

這是一個自動化的過程,因此它會導出所有內容,甚至是那些並非真正需要的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM