c - 如何判断使用哪个版本的英特尔编译器来编译二进制文件

标签 c fortran symbols intel

因此,如果使用 Intel 编译器来编译可执行文件,则可以通过嵌入在可执行文件中的符号相对简单地判断出来,例如来自可执行文件中 __intel_proc_init 等符号的存在。

有没有办法通过类似的诊断来判断使用哪个版本的英特尔编译器来编译二进制文件?

最佳答案

所以我想我找到了我自己问题的部分答案。使用字符串实用程序,我能够从 Fortran 可执行文件中提取以下字符串:

@(#)Intel Fortran RTL Message Catalog V10.1-101 01-Aug-2007

从另一个 Fortran 可执行文件中,我找到了以下字符串:

/opt/intel/Compiler/11.1/073/bin/intel64/ifort

@(#)Intel Fortran RTL Message Catalog V11.1-107 16-Mar-2010

但是,我无法从 C 编译的可执行文件中提取任何此类字符串。

关于c - 如何判断使用哪个版本的英特尔编译器来编译二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551270/

相关文章:

fortran - 是否允许为另一个过程的可选参数传递一个不存在的假定形状数组?

fortran - 初始化整数,值为 -2**31

ruby - Ruby 中的符号

linux - 使用 g++ 的符号可见性

C - 输出垃圾字符

c - 为静态数组的动态数组分配内存

c - 将指针数组作为参数传递给 C 中的函数

c - 组装一个 lParam 消息,这是正确的代码吗?

c - 如何在 C 的 fortran 例程 "called"中分配一个数组

C++需要从数组中找到符号