linux – 使用ldd -u,输出是“Unused direct dependencies:/lib64/libc.so.6”,但我真的使用printf()

在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
输出很奇怪:

未使用的直接依赖项:
/lib64/libc.so.6

我认为目标文件确实使用/lib64/libc.so.6因为printf().在红帽6中,
没有这种奇怪的外表.

解决方法

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

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

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...