簡體   English   中英

您可以從C ++ Lib文件中獲取信息,例如如何從Jar文件中獲取信息嗎?

[英]Can you get information out of C++ Lib Files like How you can Get Info out of Jar files?

C ++ Lib文件是二進制文件,還是僅是某種容器,例如包含所有二進制文件的zip文件?

我問,因為我很好奇我是否可以打開一個庫文件(.lib)以獲得有關其中包含哪些文件的更多信息,類似於如何打開jar文件並以人類可讀的方式瀏覽它。

我問,因為我要向我的lib路徑添加一些庫,並且希望知道lib文件是否包含我要引用的類。

據我所知,一個庫文件是純二進制的。 因此,實際上無法像zip文件一樣“查看”其內容。

如果您掌握了某些.lib文件,則可能還會附帶說明其功能的文檔。 那將是檢查您的班級是否存在於圖書館的好地方。

編輯: 此問題描述了一個稱為dumpbin的lib文件檢查器,可能正是您所需要的。

一個lib文件包含該庫提供的所有編譯單元的已編譯二進制文件。 既然你已經標記C ++ Builder中,我假設你有OMF -libraries。 您可以輕松地從這些信息中獲得很多信息,例如庫中的所有函數簽名。

C ++ Builder附帶了一個名為TDump的工具,該工具以易於閱讀的形式打印庫的內容。 它位於C ++ Builder安裝目錄下的bin目錄中。

下面的示例向您展示如何使用TDump從命令行轉儲庫的內容:

"C:\Program Files\Embarcadero\RAD Studio\10.0\bin\tdump.exe" library.lib > library-dump.txt

通過在輸出中搜索“ THEADR”,可以找到庫中的每個對象模塊。 在THEADR行之后,您將獲得在編譯對象時使用的所有依賴文件(基本上包括)的列表。 依存關系之后是符號,其中包括拆散的函數簽名。

暫無
暫無

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

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