如何使用 GNU g++ 仅编译标准 C++?

Posted

技术标签:

【中文标题】如何使用 GNU g++ 仅编译标准 C++?【英文标题】:How can I compile only standard C++ with GNU g++? 【发布时间】:2014-10-03 09:13:42 【问题描述】:

GNU g++ 编译器中有一些扩展,例如 VLA(可变长度数组),即使这些功能不是 C++ 标准。

所以,如果我需要只使用 C++ 标准结构并避免那些额外的扩展来编译程序,我可以使用 GNU g++ 来完成吗?

类似g++ test.cpp -std=onlyStandards?

【问题讨论】:

***.com/q/2855121/390913 看我的answer here,总之你想要-std=c++11 -pedantic-errors,其中c++11被替换为你想要遵循的标准。 C++ array size declaration and const 的可能副本 【参考方案1】:

传递-pedantic-errors 标志。请务必使用-std= 设置标准,例如-std=c++14。这也适用于 clang。

【讨论】:

不,GCC 的标志不是标准化的。 确实如此,但其中很多在 Clang 中很常见。

以上是关于如何使用 GNU g++ 仅编译标准 C++?的主要内容,如果未能解决你的问题,请参考以下文章

cmake如何在C ++中将编译器标志附加到末尾

gcc,g++,make,cmake的区别

如何在我的g ++编译器中满足C ++标准版本?

如何在 Visual Studio 中使用 g++ 编译器

GNU的编译器

更改 GNU 编译器中的 -g 标志使 C++ 可执行 [重复]