如何使用 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++?的主要内容,如果未能解决你的问题,请参考以下文章