如何知道安装程序时所用编译器的所有版本

如何知道安装程序时所用编译器的所有版本

我通过源代码安装了一个程序。为此,我下载了适合的 gcc 和 g++。我使用此命令来安装

$ export CC=gcc-?? CXX=g++-?? && ./install

??=我不记得了

现在我忘记了这些的版本。有什么方法可以知道吗?

答案1

GCC 编写了一个。评论包含编译目标文件中版本信息的部分。

你可以尝试转储。评论从二进制文件部分查找版本字符串。

使用对象转储并添加- 部分指定部分名称。

例如,如果你编译了一个名为在源目录中,您可以运行以下命令来获取 GCC 的版本信息:

$ objdump -s --section .comment foo

sizeof:     file format elf32-i386

Contents of section .comment:
 0000 4743433a 20285562 756e7475 2f4c696e  GCC: (Ubuntu/Lin
 0010 61726f20 342e362e 332d3175 62756e74  aro 4.6.3-1ubunt
 0020 75352920 342e362e 3300               u5) 4.6.3.  

那么您就知道它是用 gcc 4.6.3 编译的。

答案2

gcc -v在终端中输入。

从 /usr/lib/gcc/x86_64-redhat-linux/3.4.6/specs 读取规范 配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux 线程模型:posix
gcc 版本 3.4.620060404(红帽 3.4.6-3)

相关内容