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