默认情况下,在 Ubuntu 上,当我尝试使用 g ++ 进行编译时,例如:
g++ -o name file.cpp
有时它会以“ISO C++ 禁止...”作为响应。
如果我不想用 ISO 编译,我应该使用什么标志?
默认情况下,在 Ubuntu 上,当我尝试使用 g ++ 进行编译时,例如:
g++ -o name file.cpp
有时它会以“ISO C++ 禁止...”作为响应。
如果我不想用 ISO 编译,我应该使用什么标志?
利用
g++ -std=c++0x
或者
g++ -std=gnu++0x
注意:如果您专有启用扩展,您的代码将变得不那么可移植。
C++11 功能在 GCC 的 Subversion 存储库的主干以及 GCC 4.3 及更高版本中作为“主线”GCC 编译器的一部分提供。要启用 C++0x 支持,请将命令行参数 -std=c++0x 添加到 g++ 命令行。或者,要启用除 C++0x 扩展之外的 GNU 扩展,请将 -std=gnu++0x 添加到您的 g++ 命令行。GCC 4.7 及更高版本也支持 -std=c++11 和 -std=gnu++11。
如果要使用 gcc/g++ 扩展,请使用-std=gnu++0x
. 当然,假设这不是“您实际上不能在 C++ 中执行此操作”的情况。