首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在我的C++编译器中达到g++标准版本?

如何在我的C++编译器中达到g++标准版本?
EN

Stack Overflow用户
提问于 2018-02-05 18:04:58
回答 1查看 4.3K关注 0票数 2

我知道C++有标准而不是版本,因此它们的版本是由规范管理的(比如C99,C++11,其他版本)。

C++编译器有版本,每个版本都可以支持多个c++标准.是这样的吗?

与上述相关,我找到了我的g++版本编译器,即7.2.0

代码语言:javascript
运行
复制
λ bgarcial [~] → g++ --version
g++ (Ubuntu 7.2.0-8ubuntu3) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
λ bgarcial [~] → 

我有我的g++编译器的以下目录,我使用本机makefile来用C++语言构建

代码语言:javascript
运行
复制
λ bgarcial [include/c++/7] → pwd
/usr/include/c++/7

λ bgarcial [include/c++/7] →

如何确定哪些C++标准支持我的g++编译器?

g++文档包括以下信息:

GCC支持1998年发布的最初的C++标准,以及2011年和2014年的修订。默认情况下,如果没有提供C++语言方言选项,则为-std=gnu++14。

它还包含了这个有趣的部分:

默认情况下,GCC还为C++语言提供了一些额外的扩展,这些扩展在很少情况下与C++标准发生冲突。参见控制C++方言的选项。使用上面列出的-std选项将禁用这些扩展,如果它们与选定的C++标准版本相冲突。 您还可以显式地选择C++语言的扩展版本,包括-std=gnu++98 (对于带有GNU扩展的C++98 )、-std=gnu++11 (对于带有GNU扩展的C++11 )、或者对于-std=gnu++14 (对于带有GNU扩展的C++14 )、或者对于-std=gnu++1z (对于带有GNU扩展的C++1z )。

在给定的C++项目中,如何指定要使用的C++标准/规范类型?

在CMakeLists.txt可能是吗?或者..。

作为一个建立基本文件的标志?例如:

代码语言:javascript
运行
复制
g++ client.cpp main.cpp -o client.out -lzmq -std=gnu++11

推荐的C++标准/规范是什么?

我之所以这样问,是因为在最初的情况下,我假设我在与上面提到的C++14编译器文档相关的GNU扩展中使用g++。在某些情况下,我没有使用某些函数或库,但我不知道这是由于所使用的标准还是其他原因。

推荐使用的C++标准是什么?我如何配置我的项目来使用它?

EN

回答 1

Stack Overflow用户

发布于 2018-02-05 18:10:19

可以使用-std开关指定标准。

$g++ -std=c++11 your_file.cpp -o your_program

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48628739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档