我可以获得编译器应用的优化日志吗?

时间:2014-03-24 10:00:18

标签: c++ compiler-construction compiler-optimization

在编译启用了优化的C ++应用程序或库时,例如gcc的-O3,是否有办法列出应用的优化?我的意思是,没有比较实际的字节码。这将是有趣的学习。

2 个答案:

答案 0 :(得分:6)

http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html

-fopt-info系列交换机会使优化器将信息转储到stderr(如果您愿意,还可以转储到文件中)。特别是,-fopt-info-missed可以帮助您了解无法应用优化的原因。

有许多不同的组合可供选择。从链接页面:

  

例如,

          gcc -O3 -fopt-info-missed=missed.all
     

将错过的优化报告从所有传递输出到missed.all。

     

另一个例子,

  gcc -O3 -fopt-info-inline-optimized-missed=inline.txt
     

将输出有关遗漏优化的信息以及从所有内联传递到inline.txt的优化位置。

答案 1 :(得分:1)

如果您真的在寻找针对给定优化级别应用的标志,请在手册页中查找:http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html