我正在浏览此链接Will it optimize,并想知道我们怎么知道特定编译器做了哪些优化。
就像VC8.0将if-else语句转换为switch-case一样? 这些信息是否可以在msdn上找到?
答案 0 :(得分:3)
答案 1 :(得分:1)
这取决于您为编译器选择的优化级别。
你可以找到一篇关于它的非常好的文章here
答案 2 :(得分:0)
首先,如果进行了优化,那么您的程序通常应该更快地运行。之后,您可以检查反汇编代码以找出执行了哪种优化。
答案 3 :(得分:0)
我对VC8.0一无所知,所以我不确定你将如何访问这些信息。但是,如果您通常对正在进行并希望进行实验的各种优化感兴趣,建议您使用LLVM。您可以查看从默认C前端生成的未经优化的,反汇编的字节代码,然后在其上运行各种优化器传递以查看每次的效果。因为它是一个更好的,抽象的汇编代码,所以通过代码以及什么是机器特定的优化,可以更容易地弄清楚什么是可导出的优化。
答案 4 :(得分:0)
答案 5 :(得分:0)
答案 6 :(得分:0)