我用不同的优化标志编译了fortran程序。我有一个带有默认优化标志-O2的程序和另一个带有-fast优化标志的编译程序。我能够打开用优化标志-O2编译的程序。那么,当我们尝试在Vtune中加载程序时,程序也会执行?
但是,当我尝试加载使用优化标志-fast编译的程序时,Vtune会抛出错误"无法完成结果"。您打开的结果是空的。这可能是由数据收集过程中的错误引起的。这究竟意味着什么?我在这个论坛中经历过其他主题,但不太明白这意味着什么。
收集的消息收集如下:
错误:分析目标的二进制文件不包含分析所需的符号。有关详细信息,请参阅文档 错误:在分析目标的静态二进制文件中找不到有效的dlopen符号。
我正在使用ubuntu 12.04系统。
非常感谢。请尽快回复。
Jdbaba
答案 0 :(得分:0)
我不确定你正在使用什么编译器(少数有-fast
),但我最好的猜测是你-fast
剥离二进制因此没有调试符号。使用gcc
或icc
(可能是gfortran
或ifort
)您应该使用-g
进行编译,但我不确定Fortran编译器中的等效内容可能是。