2014-06-08 18 views
2

我想知道是否有任何工具,甚至GCC選項可以檢查並找到C中所有需要和使用的庫的列表程序。有一個代碼,它應該檢查所有必需的(使用)庫和依賴關係。另外,我想檢查代碼中是否使用了任何非標準(用戶定義的)庫。找到已在C程序中使用過的所有庫的列表(.exe)

+1

@IsmailBadawi ldd不適用於Windows。 –

+1

@Timothy_G你認爲我們應該重申Windows的這個問題嗎? – JasonMArcher

+0

還有一個問題:請問我可以如何將代碼項目中使用的庫與提供給我的庫進行比較?檢查它們是否完全相同並且是最後一個版本? – zhuan

回答

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,它會告訴你的。

+0

謝謝,還有一個問題:請問我可以如何將代碼項目中使用的庫與給予我的庫進行比較?檢查它們是否完全相同並且是最後一個版本? – zhuan

+0

@zhuan:由於這是另一個問題,請隨時提出。 – alk

1

在Linux/Unix系統上使用ldd。

在Windows中可以使用「Dependance的沃克

我不使用Mac的那麼多,但我猜想,LDD也將可在那裏。

+0

在Mac中,'ldd'不存在;它是'otool -L'。 –

相關問題