C++ C++;:编译器在多少方面优化了我们的代码?

C++ C++;:编译器在多少方面优化了我们的代码?,c++,optimization,compiler-construction,compiler-optimization,C++,Optimization,Compiler Construction,Compiler Optimization,我想知道编译器可能/能优化我们C++编写的代码的所有可能的方法(或者至少是流行的方法)。我还想知道优化是如何完成的(在每种情况下) 到目前为止,我知道两个优化,即。空基优化(EBO)和返回值优化(RVO)。还有什么?我听说过“常量”优化,“未使用变量”优化。它们是什么 .所有可能的方法?你肯定是在开玩笑。为此,请浏览多年的编译器研究和实践 有关具体示例,请在此处查找每个选项:所有可能的方法?你肯定是在开玩笑。为此,请浏览多年的编译器研究和实践 对于具体的例子,请在这里查看每个选项:非常广泛,因为

我想知道编译器可能/能优化我们C++编写的代码的所有可能的方法(或者至少是流行的方法)。我还想知道优化是如何完成的(在每种情况下)

到目前为止,我知道两个优化,即。空基优化(EBO)和返回值优化(RVO)。还有什么?我听说过“常量”优化,“未使用变量”优化。它们是什么

.

所有可能的方法?你肯定是在开玩笑。为此,请浏览多年的编译器研究和实践

有关具体示例,请在此处查找每个选项:

所有可能的方法?你肯定是在开玩笑。为此,请浏览多年的编译器研究和实践


对于具体的例子,请在这里查看每个选项:

非常广泛,因为有很多优化,编译器编写人员总是想得更多。它们有很多,一些是针对运行时进行优化的,另一些是针对二进制大小进行优化的。许多编译器并不是C++,通用编译器优化技术是针对许多不同语言的编译器/解释器实现的。 只有一把:

更多信息:


范围非常广泛,因为有很多优化,编译器编写人员总是想得更多。它们有很多,一些是针对运行时进行优化的,另一些是针对二进制大小进行优化的。许多编译器并不是C++,通用编译器优化技术是针对许多不同语言的编译器/解释器实现的。 只有一把:

更多信息:

  • 标准文件第1.9节

    4) 这一规定有时被称为“仿佛”规则,因为实施可自由忽略本国际标准的任何要求 只要结果与要求得到遵守一样,只要可以从程序的可观察行为中确定。例如, 如果实际实现可以推断表达式的值未被使用,并且没有影响表达式的副作用,则不需要对表达式的一部分求值 生成程序的可观察行为

    因此,实际上,符合标准的编译器可以执行任何类型的优化,只要它产生所需的结果。

    来自标准文档,第1.9节

    4) 这一规定有时被称为“仿佛”规则,因为实施可自由忽略本国际标准的任何要求 只要结果与要求得到遵守一样,只要可以从程序的可观察行为中确定。例如, 如果实际实现可以推断表达式的值未被使用,并且没有影响表达式的副作用,则不需要对表达式的一部分求值 生成程序的可观察行为


    因此,实际上,标准兼容编译器可以执行任何类型的优化,只要它产生所需的结果。

    。谢谢你回复这个话题。。至少我可以从你提供的链接开始…:-)。谢谢你回复这个话题。。至少我可以从您提供的链接开始…:-)你在问题的开头和结尾加上的点。你在问题的开头和结尾加上的点。