-std=gnu++11 与 -std=c++11 有什么区别?
作者:野牛程序员:2023-08-12 15:38:44 开发工具阅读 2939
-std=gnu++11
和 -std=c++11
都是用来指定编译器使用的C++标准的选项,但它们之间有一些区别。
-std=c++11
选项用于指定编译器使用C++11标准,这意味着编译器将会遵循C++11标准的规范和要求进行编译。
-std=gnu++11
选项也用于指定编译器使用C++11标准,但它在此基础上还包含了一些GNU扩展,这些扩展是GNU编译器特有的功能,超出了C++11标准的范围。
一般情况下,如果你只打算使用C++11标准的功能而不需要特定于GNU编译器的扩展,那么使用 -std=c++11
选项就足够了。如果你需要使用GNU编译器的扩展功能,你可以选择使用 -std=gnu++11
选项。
总之,两者之间的选择取决于你的需求,如果你希望保持更大的兼容性,可以选择 -std=c++11
,如果你需要使用GNU编译器的特定扩展功能,可以选择 -std=gnu++11
。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:dev编译时遇到 [Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11该如何解决
- 下一篇:C++ warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 return {i,j}