GCC(GNU Compiler Collection,GNU编译器套装)是一个各种语言(c, c++, java)的编译器集合,其下的g++,gcc命令则对应着c++, c语言的编译器,不同版本的g++默认的c++标准是不一样的,在这里可以通过一些命令查看自己的g++编译器默认的c++版本
g++ -dM -E -x c++ /dev/null | grep -F __cplusplus
输入该命令后会打印出__cplusplus版本(下面的是我7.5.0版本的g++编译器默认的c++标准)
#define __cplusplus 201402L
版本对照表
C++标准 | __cplusplus值 |
---|---|
C++ 11 | 201103L |
C++ 14 | 201402L |
C++ 17 | 201703L |
由上可见我的g++编译器默认的c++标准是14
在用g++命令编译cpp文件的时候其实也可以指定c++标准,比如我这里直接指定C++17的标准
g++ -std=c++17 test.cpp -o test.o
相比于正常的命令只是多了一个命令行参数-std=c++17
如果觉得麻烦,可以编辑用户配置文件,给该命令取个别名,具体 *** 作如下:
vim ~/.bashrc
在末尾添加一行
echo alias g17=\'g++ -std=c++17\' >> ~/.bashrc
保存后再激活一下
source ~/.bashrc
即可用g17 test.cpp -o test.o
代替 g++ -std=c++17 test.cpp -o test.o
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)