ZHCU820Y September 2004 – June 2021
C/C++ 编译器能够执行各种优化。高级别优化在优化器中执行,目标专用的低级别优化在代码生成器中执行。使用更高的优化级别(例如 --opt_level=2 和 --opt_level=3)以获得最优代码。
调用优化的最简单方法是使用编译器程序,在编译器命令行上指定 --opt_level=n 选项。您可以使用 -On 作为 --opt_level 选项的别名。n 表示优化级别(0、1、2、3 和 4),其控制优化的类型和程度。
执行所有 --opt_level=0 (-O0) 优化,并且:
执行所有 --opt_level=1 (-O1) 优化,并且:
执行所有 --opt_level=2 (-O2) 优化,并且:
如果使用 --opt_level=3 (-O3),请参阅Topic Link Label4.3和Topic Link Label4.4以了解更多信息。
执行链接时优化。有关详细信息,请参阅Topic Link Label4.6。
有关 --opt_level 和 --opt_for_speed 选项以及各种 pragma 如何影响内联的详细信息,请参阅Topic Link Label3.11。
调试默认启用,并且优化级别不受调试信息生成的影响。
优化由独立优化通道执行。代码生成器执行几个额外的优化,特别是处理器专用优化。无论您是否调用优化器,都会进行上述操作。这些优化始终处于启用状态,但在使用优化器时,这些优化的效率会更高。