c++ - 如何从Makefile中识别冗余库?有没有什么工具可以分析库的使用情况?

标签 c++ c makefile shared-libraries

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

对于使用 make 构建的 C++ 程序,我想找到哪些库不再被程序使用但仍由 make 实用程序链接。

最佳答案

如果您使用的是 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

关于c++ - 如何从Makefile中识别冗余库?有没有什么工具可以分析库的使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31243775/

相关文章:

c++ - valgrind 未检测到的 malloc_consolidate (malloc.c) 中的段错误

c++ - 如何从 C++ 程序执行简单的 Applescript?

c++ - 我的 socks v5 握手有什么问题?

android - 如何将 C 编译成可执行的二进制文件并从 Android Shell 在 Android 中运行?

linux - 如何在 makefile 中捕获输入以形成输出目录

c++ - 使用 Makefile 修改项目组织

c# - C# 程序员学习 C++ 的最佳场所

c++ - resizeColumnToContents() 不工作 Qt C++

mysql - C(树莓派)从文本文件中读取不同长度的行

linux - 如何使用 makefile 执行 C++11