[英]Unknown GCC pragmas on Mac
warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma GCC optimize("O3")
我想启用 GCC 优化标志,但在我编译代码时它们被忽略了,尽管它们存在于文档中。 为什么会这样?
问题是 g++ 默认情况下是 MacOS 中的 clang 别名所以我这样做了
cd /usr/local/bin
ln -s g++-11 g++
这解决了问题,g++ 命令将运行实际的 gcc 编译器而不是 clang
总之,最常用的优化标志是这些:
-O0
不优化; -O1
进行一些优化; -O2
进行大量优化; -O3
用于所有 O2 优化以及其他一些昂贵的优化; -Os
与 O2 相同,加上一些优化以减小二进制文件的大小; -flto
用于通常昂贵的链接时间优化。
在 GCC 中,您可能会编写类似g++ -std=c++20 -Wall -O3 sourcefilename.cpp -o myprogram
的内容。
也检查这些链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.