繁体   English   中英

Mac 上的未知 GCC 编译指示

[英]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的内容。

也检查这些链接:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89038

抑制 GCC 中的 -Wunknown-pragmas 警告

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM