如何设置C/C++编译器选项以对正在使用的CPU进行最佳优化?

要为特定 CPU 构建具有最佳优化的二进制文件,如何设置 C/C++ 编译器选项?例如,当功能可用时,尝试利用 MMX/3DNow!/SSE/SSE2/SSE3 等 CPU 功能。

回答

GCC 和 Clang 支持-march=native从编译器正在执行的处理器类型中选择要为其生成代码的 CPU,并-mtune=native为其优化代码。请注意,这些开关在特定体系结构部分中列出,例如 X86 或 ARM 体系结构,因此它们可能不适用于编译器支持的所有体系结构。

-march=native如果要生成不需要在其他处理器模型上执行的代码,请使用。-march=native暗示mtune=native.

如果要生成针对当前处理器调整的代码,但仍然可以在处理器模型上执行,则使用-mtune=nativewithout -march=native


以上是如何设置C/C++编译器选项以对正在使用的CPU进行最佳优化?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>