【问题标题】:How to see the informations and compiler flags for .o files in linux?如何在 linux 中查看 .o 文件的信息和编译器标志?
【发布时间】:2013-01-29 20:35:43
【问题描述】:

我使用的是 CentOS 6.02 64 位。我想查看 .o 文件中的信息和使用的编译器标志。有什么命令或方法可以看到吗?我已经通过使用 objdump 看到了 .a 文件的体系结构。但看不到 .o 文件的信息。

【问题讨论】:

    标签: c++ boost command centos


    【解决方案1】:

    没有从目标文件中提取编译器标志的通用方法。您可以通过使用和不使用诸如 -fverbose-asm (仅影响 asm 生成的 gcc 标志)之类的无操作开关进行两次编译并比较对象来看到这一点 - 它们将是相同的。然而,有一些编译器特定的扩展允许您在编译期间插入它们,例如-frecord-gcc-switches 在较新版本的 gcc 中,它放置了 .GCC.command.line 部分中使用的标志。不同的编译器还会在 .comment 部分插入各种信息,例如我用 gcc 4.7.2 编译显示:

    $objdump -s -j.comment <objfile>
    
    objfile:     file format elf64-x86-64
    
    Contents of section .comment:
     0000 00474343 3a202847 4e552920 342e372e  .GCC: (GNU) 4.7.
     0010 3200                                 2.
    

    您当然可以使用与 .a 文件相同的方式获取架构,使用 objdump -f

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      相关资源
      最近更新 更多