如何从Makefile中识别冗余库?有没有工具来分析库的使用情况?

时间:2015-07-06 10:41:58

标签: c++ c makefile shared-libraries

如何从Makefile中识别冗余库?有没有工具来分析库的使用情况?

对于使用make构建的c ++程序,我想找到程序不再使用哪些库但仍然通过make实用程序链接。

1 个答案:

答案 0 :(得分:4)

如果你在Linux上,那么你应该使用ldd --unused:

$ ldd --help
Usage: ldd [OPTION]... FILE...
  -u, --unused            print unused direct dependencies

这是一个例子:

$ ldd -u ./a.out                                      
Unused direct dependencies:

    /u01/app/oracle/product/11.2.0/cl11203/lib/libclntsh.so.11.1
    /usr/local/CC/gcc-4.8.2/lib64/libstdc++.so.6
    /lib64/libm.so.6
    /usr/local/CC/gcc-4.8.2/lib64/libgcc_s.so.1