[英]Merging two C++ packages
我有兩個C ++包A和B,其中A依賴於B.我想通過讓A吞下B代碼的一小部分來打破這種依賴性,這樣B就可以完全拋棄了。
有沒有人有任何建議我如何能夠剖析包A以確切地找到類/功能等我需要從B引入?
編輯:我只是刪除了包B,然后(很多)循環編譯A,從B復制文件,相應地更新Makefile.am。 現在我很確定我的包裝A膨脹的東西多於所需的東西。 我如何找到A`代碼中從未在其中出現的可執行文件/庫中使用的部分?
我認為有三種可能的行動方式:
真正只導入所需內容:撤消你所做的,然后再做一次,但這次不要復制B中的整個文件,而只是復制編譯器告訴你的單個函數。
在您目前的情況下,讓一些工具為您分析代碼(請參閱查找免費的源代碼分析器(函數依賴樹)和尋找免費的源代碼分析器(函數依賴樹) ),或使用所有A編寫大量代碼並運行代碼覆蓋率分析。
也許objdump會給你一些有用的信息。 在二進制文件(objdump -t)上使用它,它應該能夠顯示有關導入函數的一些有用信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.