当 GNU C / C++ 应用程序以普通发布模式编译时 (
-O3
扩展指令集如何发挥作用?生成的可执行文件中是否包含多个代码块,然后使用(如果可用)?
O3 将仅使用编译时指定的指令(如果未指定here解释的任何开关,则默认在构建工具链时指定)。它只会尝试更积极地优化(如here所述)。大多数优化实际上是在代码转换为目标机器特定形式之前在编译器“中间”端完成的。
因此,您可以通过使用这两组开关将任何 -O 与任何指令集扩展组合起来。