一、测试gcc
1、测试代码:c.c
#include <stdio.h>int main(void) {#ifdef __STDC_VERSION__printf("__STDC_VERSION__ = %ld \n", __STDC_VERSION__);
#endif
#ifdef __STRICT_ANSI__printf("__STRICT_ANSI__ = %d \n", __STRICT_ANSI__);
#endifreturn 0;
}
2、测试脚本
#!/usr/bin/env bash
for std in c89 c99 c11 c14 c17 gnu89 gnu99 gnu11 gnu14 gnu17; doecho $stdgcc -std=$std -o c.out c.c./c.outecho
done
echo default
gcc -o c.out c.c
./c.out
3、测试结果

我的gcc版本:gcc version 4.8.4,测试结果如下,其中不加std,即默认版本是gun89

c89
__STRICT_ANSI__ = 1 c99
__STDC_VERSION__ = 199901
__STRICT_ANSI__ = 1 c11
__STDC_VERSION__ = 201112
__STRICT_ANSI__ = 1 c14
gcc: error: unrecognized command line option ‘-std=c14’
__STDC_VERSION__ = 201112
__STRICT_ANSI__ = 1 c17
gcc: error: unrecognized command line option ‘-std=c17’
__STDC_VERSION__ = 201112
__STRICT_ANSI__ = 1 gnu89gnu99
__STDC_VERSION__ = 199901 gnu11
__STDC_VERSION__ = 201112 gun14
gcc: error: unrecognized command line option ‘-std=gun14’
__STDC_VERSION__ = 201112 gnu17
gcc: error: unrecognized command line option ‘-std=gnu17’
__STDC_VERSION__ = 201112 default
二、测试g++
1、测试代码:cpp.cpp
#include <iostream>int main(void) {#ifdef __cplusplusstd::cout << "__cplusplus = " << __cplusplus << std::endl;
#endif
#ifdef __STRICT_ANSI__std::cout << "__STRICT_ANSI__ = " << __STRICT_ANSI__ << std::endl;
#endifreturn 0;
}
2、测试脚本
#!/usr/bin/env bash
for std in c++89 c++98 c++11 c++14 c++17 gnu++98 gnu++11 gnu++14 gnu++17; doecho $stdg++ -std=$std -o cpp.out cpp.cpp./cpp.outecho
done
echo default
g++ -o cpp.out cpp.cpp
./cpp.out
3、测试结果

我的g++版本:4.8.4,不加-std默认版本是c++89

c++89
g++: error: unrecognized command line option ‘-std=c++89’
__cplusplus = 199711c++98
__cplusplus = 199711
__STRICT_ANSI__ = 1c++11
__cplusplus = 201103
__STRICT_ANSI__ = 1c++14
g++: error: unrecognized command line option ‘-std=c++14’
__cplusplus = 201103
__STRICT_ANSI__ = 1c++17
g++: error: unrecognized command line option ‘-std=c++17’
__cplusplus = 201103
__STRICT_ANSI__ = 1gnu++98
__cplusplus = 199711gnu++11
__cplusplus = 201103gnu++14
g++: error: unrecognized command line option ‘-std=gnu++14’
__cplusplus = 201103gnu++17
g++: error: unrecognized command line option ‘-std=gnu++17’
__cplusplus = 201103default
__cplusplus = 199711

【经验】如何查看gcc、g++不加-std时的默认版本相关推荐

  1. Linux系统查看gcc,g++,java 等的版本

    查看jdk的版本:java -version 查看gcc的版本:gcc -v 查看g++ 的版本:g++ -v 查看jre的版本:jre -v

  2. 查看gcc/g++版本以及对应默认的的C++标准

    GCC(GNU Compiler Collection,GNU编译器套装)是一个各种语言(c, c++, java)的编译器集合,其下的g++,gcc命令则对应着c++, c语言的编译器,不同版本的g ...

  3. 【工程项目经验】查看gcc arch编译选项

    gcc --target-help gcc -Q --help=target 参考网址:https://stackoverflow.com/questions/5470257/how-to-see-w ...

  4. ubuntu16.04安装gcc g++7.5.0及各个版本的切换

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-7 s ...

  5. gcc g++ 支持c++11编译的标准和区别

    g++ -g -Wall -std=c++11 main.cpp gcc -g -Wall -std=c11 main.cpp 如果不想每次写这个-std=C++11这个选项该怎么办呢? 方法出处:h ...

  6. 【Linux】Linux基本指令和工具操作大集合(vim、gcc/g++、gdb、make/makefile、git)

    [Linux]Linux基本指令和工具操作大集合(vim.gcc/g++.gdb.make/makefile.git) 文章目录 [Linux]Linux基本指令和工具操作大集合(vim.gcc/g+ ...

  7. 【Linux】三、Linux 环境基础及开发工具使用(上篇)|开发工具|编辑器-vim使用|sudo提升权限问题|编译器 - gcc/g++使用|项目自动化构建工构建工具-make/Makefile

    目录 一.开发工具 二.Linux编辑器 - vim使用 2.1 vim 的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2. ...

  8. gcc/g++搜索路径

    一:查看gcc/g++默认include路径 `gcc -print-prog-name=cc1plus` -v `g++ -print-prog-name=cc1plus` -v echo 'mai ...

  9. Linux【vim】【gcc/g++】【make/Makefile】

    目录 一.vim操作 零.首先上按键图 一.Linux编辑器-vim使用 vim的三种模式 二.命令模式 : 赋值粘贴操作 光标的操作 删除操作: 大小写切换: 替换操作: 删除 三.底行模式 分屏操 ...

最新文章

  1. linux系统下一个冷门的RAID卡ioc0及其监控mpt-status
  2. Mysql order by与limit混用陷阱
  3. css中float详解,CSS浮动属性Float详解?史上最全Float详解
  4. vmware安装minimal centos报错/etc/rc5.d/s99local : line
  5. 基于java的银行ATM系统设计(含源文件)
  6. 远程桌面剪贴板失效的解决办法
  7. sql去除字符串中首尾空格
  8. Educational Codeforces Round 43 (Rated for Div. 2)题解
  9. js判断ie 火狐 还是chrome浏览器
  10. GD32F103RC官方移植IAR
  11. 淘宝HSF 框架使用 总结
  12. [渝粤教育] 中南大学 分子生物学 参考 资料
  13. dubbo的工作原理
  14. POE交换机和普通交换机哪里不同
  15. 数值重映射方法(Remap)
  16. 机器视觉——远心镜头(1)
  17. MySQL索引及视图
  18. 2021高考成绩特长生查询,2021高考体育生分数怎么算 体育四项评分标准及分值一览表...
  19. HDU 1984 ZOJ 2987 Misspelling(模拟)
  20. ZYNQ从放弃到入门(三)- 中断(一)

热门文章

  1. 【汇总记忆:命令、语法、函数、等】
  2. keras 的 example 文件 pretrained_word_embeddings.py 解析
  3. 三年级优秀书籍推荐_西关小学书画比赛优秀作品展 绘画组(四)
  4. LeetCode刷题记录9——58. Length of Last Word(easy)
  5. opengl库区分:glut、freeglut、glfw、glew、gl3w、glad
  6. 织梦文章内容屏蔽替换词语多个敏感字词
  7. L3-010. 是否完全二叉搜索树
  8. Codeforces Round #372 (Div. 2), problem: (B) Complete the Word
  9. MEF: MSDN 杂志上的文章(9) 控制部件创建策略 ???
  10. [zt] petshop4.0 详解之三