在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()。在Red Hat 6中
没有这种奇怪的外观。

最佳答案

只是ldd -u不能很好地工作;建议您使用ldd -u -r

参见例如https://bugzilla.redhat.com/show_bug.cgi?id=216864

10-06 03:09