找到已在C程序中使用的所有库的列表(.exe)

时间:2014-06-08 04:01:09

标签: c windows gcc

我想知道是否有任何工具,甚至GCC选项可以检查并找到C程序中所有必需和使用的库的列表。有一个代码,应该检查所有必需的(使用过的)库和依赖项。另外,我想检查是否在代码中使用了任何非标准(用户定义的)库。

2 个答案:

答案 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)

Linux / Unix系统上的

使用ldd。

在Windows上,你可以使用' Dependance Walker'

我没有那么多使用Mac,但我猜想ldd也会在那里使用。