我想知道是否有任何工具,甚至GCC选项可以检查并找到C程序中所有必需和使用的库的列表。有一个代码,应该检查所有必需的(使用过的)库和依赖项。另外,我想检查是否在代码中使用了任何非标准(用户定义的)库。
答案 0 :(得分:2)
(看起来你在询问Windows。对于Linux,请参阅Show all libraries used by executables on Linux)
您有两种选择:在Windows上使用objdump或使用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 :(得分:1)
使用ldd。
在Windows上,你可以使用' Dependance Walker'我没有那么多使用Mac,但我猜想ldd也会在那里使用。