我想知道是否有任何工具,甚至GCC選項可以檢查並找到C中所有需要和使用的庫的列表程序。有一個代碼,它應該檢查所有必需的(使用)庫和依賴關係。另外,我想檢查代碼中是否使用了任何非標準(用戶定義的)庫。找到已在C程序中使用過的所有庫的列表(.exe)
2
A
回答
2
(貌似你是問有關Windows對於Linux見Show all libraries used by executables on Linux)
你有兩種選擇:可以使用objdump或在Windows上使用Dependency Walker。 objdump是MinGW/mingw-w64工具鏈的一部分,這意味着如果您有交叉編譯工具鏈,則可以在Linux上使用它,而Dependency Walker是Windows應用程序。
objdump的:
${CROSS}objdump -x blah.exe | grep -i DLL | sort | uniq
# not sure I got everything correct because I don't have access to my laptop to test it out
使用的Dependency Walker:剛剛打開的的Depends.exe EXE,它會告訴你的。
1
在Linux/Unix系統上使用ldd。
在Windows中可以使用「Dependance的沃克
我不使用Mac的那麼多,但我猜想,LDD也將可在那裏。
+0
在Mac中,'ldd'不存在;它是'otool -L'。 –
相關問題
- 1. 存儲過程中使用的所有數據庫中的表的列表
- 2. 在Python中找到兩個列表的所有常見序列
- 3. 列出所有過程以及該過程在Oracle中使用的表和列
- 4. 使用所有可用數據庫中的表找出存儲過程
- 5. 列出C程序中的所有#defines
- 6. 註冊表路徑找到所有已安裝的應用程序
- 7. 如何在計劃中找到未使用的列表/程序?
- 8. 在所有存儲過程中查找使用表值函數
- 9. 在Python中找到列表的所有子列表
- 10. 使用遞歸在Python中查找列表的所有排列
- 11. C++使用本機庫啓動exe的隱形應用程序
- 12. 如何在已連接的已排序列表中找到所選列表項目
- 13. 找到列在所有數據庫
- 14. 整個數據庫找到所有程序中的替換
- 15. 使用C#在磁盤上查找所有exe文件的最有效方法?
- 16. 如何在所有MS Access數據庫表中找到列名?
- 17. 使用C++在Windows上列出所有安裝的程序
- 18. 如何使用boost庫查找所有.exe文件?
- 19. 如何在硬盤中找到所有的exe文件?
- 20. 正則表達式找到序列中的所有數字
- 21. 通過在vb.net中傳遞進程ID來找到應用程序中的所有控件(win應用程序)
- 22. 在C中調用exe程序#
- 23. 在C程序中調用.exe文件
- 24. Facebook Canvas應用程序 - 查找已安裝應用程序的所有用戶
- 25. 用Python找到所有詞序列
- 26. 通過正在運行的進程獲取已使用庫的列表(unix)
- 27. 查找所有使用公共列的表的列表
- 28. 使用API密鑰找到應用程序的所有者
- 29. 如何在Windows XP中列舉/列出所有已安裝的應用程序?
- 30. 如何查找在PL SQL中使用列的所有存儲過程?
@IsmailBadawi ldd不適用於Windows。 –
@Timothy_G你認爲我們應該重申Windows的這個問題嗎? – JasonMArcher
還有一個問題:請問我可以如何將代碼項目中使用的庫與提供給我的庫進行比較?檢查它們是否完全相同並且是最後一個版本? – zhuan