在Fedora 18中,我写了一个文件“a.c”,如下所示:
#include <stdio.h>
void main(void)
{
printf("a");
}
然后我用gcc 4.7.2编译它:gcc a.c -o a
最后使用了ldd 2.16:ldd -u ./a
输出很奇怪:
Unused direct dependencies:
/lib64/libc.so.6
由于/lib64/libc.so.6
,我认为目标文件确实使用printf()
。在红帽6中,
没有这种奇怪的外表。
答案 0 :(得分:7)
只是ldd -u
效果不佳;建议您使用ldd -u -r
。