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

dan*_*jar 9 c++ compiler-construction compiler-optimization

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

Tri*_*dle 6

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

-fopt-info交换机系列使优化倾倒了信息stderr(或一个文件,如果你喜欢).特别是,-fopt-info-missed可以了解无法应用优化的原因.

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

例如,

          gcc -O3 -fopt-info-missed=missed.all
Run Code Online (Sandbox Code Playgroud)

输出错过的优化报告,从所有传递到miss.all.

另一个例子,

  gcc -O3 -fopt-info-inline-optimized-missed=inline.txt
Run Code Online (Sandbox Code Playgroud)

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