当前位置: 首页 > 编程日记 > 正文

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

一、测试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

相关文章:

发布开源框架到CocoaPods入坑指南

个人原文博客地址: 发布开源框架到CocoaPods入坑指南在开发过程中一定会用到一些第三方框架, 只要安装了CocoaPods, 然后通过pod install命令, 就可以集成框架到项目中了可是如果想要把自己的框架或者组件也开源出去, 让别人也可以使用, 那该如何入手 ?对于CocoaPods还不是很了…

linux下打印机共享及监控

操作系统:centos6.0 主要软件&#xff1a;cups&#xff0c;samba&#xff0c;ghostpostscript 打印机&#xff1a;richo 3025 主要功能&#xff1a;通过samba将打印机共享给局域网用户&#xff0c;并实现对打印内容的监控 主要有三大步&#xff1a;本机安装打印机&#xff0c;通…

【H.264】x264命令详解:x264 --fullhelp

1、简述 宏区块: macroblock:。是一种图像压缩的术语。 宏区块是运动预测的基本单位,一张完整的图像(frame)通常会被切割成几个宏区块。h.264 的宏区块大小是可变的,常用 16x16 pixels。 帧类型 “帧”基础知识: 影片可以看作是由一张张连续的图片组成的,每幅图片就…

东大漆桂林、清华李涓子、复旦肖仰华等大牛确认出席CTA峰会!5月一起打卡杭州...

5月26日-27日&#xff0c;由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心召开。首届CTA核心技术及应用峰会将聚焦人工智能&#xff0c;邀请技术领航者&#xff0c;与开发者共同探讨机器学习和知识图谱的前沿研究及应用。20…

【Oracle Database】数据库用户管理

创建用户 SQL> create user soe identified by soe default tablespace soe temporary tablespace temp; User created.查询用户的默认表空间 SQL> set line 200 SQL> col username for a30 SQL> col account_status for a20 SQL> select username,account_stat…

MySQL两主多从,且故障转移配置

一、角色划分1、MySQL数据库规划主机名 IP地址 角色 mysql_server_idweiliaodb1 192.168.1.233 master1 1weiliaodb2 192.168.1.234 master2 2weiliaodb3 192.168.1.235 slave1 3monitor 192.168.1.240 mmm_mon -2、虚拟IP规划IP地址 角色192.168.1.10 writer192.168.1.20 read…

Go开发者路线图2019,请收下这份指南

整理 | Rachel责编 | 阿司匹林出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;Go是Google开发的一种静态、强类型、编译型、并发型&#xff0c;并具有垃圾回收功能的类C编程语言。2009以开源项目的形式发布&#xff0c;2012年发布1.0稳定版本&#xff0c;距今已经十…

【Ubuntu】在Ubuntu中设置永久的DNS

1、问题描述 ping不通域名&#xff0c;比如“ping www.baidu.com”时&#xff0c;报错“ping: unknown host www.baidu.com”。这是因为ubuntu默认情况下没有设置DNS。 在ubuntu上设置DNS的方法&#xff0c;修改“/etc/resolv.conf”&#xff0c;添加“nameserver 8.8.8.8”&a…

实习期间问题总结

主要针对实习期间&#xff0c;接触的部分问题进行总结&#xff0c;后续会不间断的补充&#xff0c;作为实习期间的回顾。 1&#xff0c;git ,github和gitlab的关系 git 是一个版本控制工具&#xff0c;github是一个用git做版本控制的项目托管平台&#xff0c;他是一个网站&…

在windows sever 2008系统中如何添加桌面体验功能

1.开启THEMES服务&#xff1a;运行&#xff0d;services.msc &#xff0d;找到Themes服务项&#xff0c;默认是禁用&#xff0c;改为自动。 2.运行服务器管理器&#xff1a;左窗口选择功能&#xff0d;右边点“添加功能”在弹出的“添加功能向导”窗口中拖到最下面&#xff0c;…

17篇论文入选CVPR 2019,百度AI都在关注什么?(附论文地址)

整理 | 阿司匹林出品 | AI科技大本营&#xff08;公众号id&#xff1a;rgznai100&#xff09;计算机视觉和模式识别大会CVPR 2019即将于6月在美国长滩召开&#xff0c;作为人工智能领域计算机视觉方向的重要学术会议&#xff0c;CVPR每年都会吸引全球最顶尖的学术机构和公司的研…

【GStreamer】在x264enc中设置profile级别

1、问题描述 在使用GStreamer生成h.264的rtmp流时,不知道怎么设置h.264的profile级别。默认一直是“high”: video/x-h264, ... profile=(string)high, ...2、解决方法 查看官网手册中,有如下解释 The H264 profile that is eventually used depends on a few settings. …

js 使用a标签 下载资源

文档 let data new Blob([hello ajanuw], {type: application/text})let src window.URL.createObjectURL(data)let dl document.createElement(a)dl.href src;dl.download hello.txtdl.click() 切片下载 let data new Blob([hello ajanuw], {type: application/text }) …

linux 新增swap分区

由于用vmware 物理机转换成虚拟机时 忘记把swap 分区转过来了&#xff0c;只能手动在系统里添加了 1建立1G 大小的交换分区 # dd if/dev/zore of/opt/swapfile bs1M count1024 2,设置交换分区文件 # mkswap /opt/swapfile 3.立即启用交换分区文件 # swapon /opt/swapfile 4.使系…

通过cookies跳过验证码登陆页面,直接访问网站的其它URL

我每次手动访问去NN网的一家酒店&#xff0c;就不需要登陆&#xff0c;一旦我用脚本打开就会让我登陆&#xff0c;而登陆页面又有验证码&#xff0c;不想识别验证码&#xff0c;所以就想&#xff1a;“通过cookies跳过验证码登陆页面&#xff0c;直接访问网站的其它URL”转载虫…

可视化深入理解损失函数与梯度下降 | 技术头条

作者 | Hugegene译者 | 刘畅责编 | Rachel出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;【导语】本文对梯度函数和损失函数间的关系进行了介绍&#xff0c;并通过可视化方式进行了详细展示。另外&#xff0c;作者对三种常见的损失函数和两种常用的激活函…

【Qt】Linux上设置自启动后qApp->applicationDirPath()的返回值问题

1、问题描述 开发程序过程中&#xff0c;使用qApp->applicationDirPath()返回程序所在目录&#xff0c;一直没问题。但是在设置自启动后&#xff0c;qApp->applicationDirPath()返回的目录不是程序所在目录。 2、原因分析 查看qApp->applicationDirPath()官方手册&…

sqlserver 行转列

还写了一篇Linq 实现 DataTable 行转列有时间大家可以看一下 sqlserver把行转成列在我们编码中是经常遇到的我做一个小例子大家看一下 1 --创建一个表 2 create table PayPhoneMoney 3 ( 4 id int identity(1,1), 5 userName Nvarchar(20), 6 payType nvarchar(20)…

Javascript闭包和闭包的几种写法及用途

好久没有写博客了&#xff0c;过了一个十一长假都变懒了&#xff0c;今天总算是恢复状态了。好了&#xff0c;进入正题&#xff0c;今天来说一说javascript里面的闭包吧&#xff01;本篇博客主要讲一些实用的东西&#xff0c;主要将闭包的写法、用法和用途。 一、什么是闭包和闭…

【GStreamer】使用capsfilter设置x264enc中的profile级别

1、问题描述 在【GStreamer】在x264enc中设置profile级别中,通过设置x264enc的属性,只将profile由high级别切换到main,但是在切换到baseline时,失败了。 2、解决方法 这里使用capsfilter,直接指定x264enc的profile。相关代码如下: // 创建元素 GstElement *h264enc =…

一文帮你梳理清楚:奇异值分解和矩阵分解 | 技术头条

作者 | K. Delphino译者 | Linstancy编辑 | Rachel出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;【导读】在推荐系统的相关研究中&#xff0c;我们常常用到两个相关概念&#xff1a;矩阵分解和奇异值分解。这两个概念是同一种算法吗&#xff1f;两者到底…

[转]程序员技术练级攻略

2019独角兽企业重金招聘Python工程师标准>>> 月光博客6月12日发表了《写给新手程序员的一封信》&#xff0c;翻译自《An open letter to those who want to start programming》&#xff0c;我的朋友&#xff08;他在本站的id是Mailper&#xff09;告诉我&#xff0…

聊天机器人落地及进阶实战 | 公开课速记

嘉宾 | 邵浩编辑 | suiling来源 | AI科技大本营在线公开课近年来&#xff0c;聊天机器人技术及产品得到了快速的发展。聊天机器人作为人工智能技术的杀手级应用&#xff0c;发展得如火如荼&#xff0c;各种智能硬件层出不穷。本次公开课中&#xff0c;AI科技大本营联合电子工业…

【GStreamer】官网基本教程学习(basic-tutorial)

目录 下载和编译basic-tutorial-1.c 直接创建管道播放视频basic-tutorial-2.c 创建元件-->装入管道-->连接元件0、gstreamer 函数调用顺序1、元素 videotestsrc 的 pattern 属性详解2、GST_BIN 将其它类型指针转换成 GstBin*basic-tutorial-3.c 信号触发后再连接元件0、g…

IdentityServer4关于多客户端和API的最佳实践【含多类型客户端和API资源,以及客户端分组实践】【中】...

上一篇文章中&#xff0c;我们已经完成了服务端数据库的搭建&#xff0c;本篇主要处理多【传统HTTP】【依赖CORE环境】客户端之间协同在线【SSO】以及不需要SSO的场景处理。 目标&#xff1a; 1&#xff09;实现多类型客户端接入IdentityServer 后文简称【IDSV】 2&#xff09;…

WEB SSH Ajaxterm客户端配置(1)

Ajaxterm是一款基于Web的SSH客户端软件&#xff0c;它是采用Python编写的&#xff0c;这也就保证了它能在多种Linux发行版的系统中使用&#xff0c;同时它的安装非常简单。实验环境&#xff1a;Centos 5.5 ip&#xff1a;192.168.20.165pcre-7.8.tar.gzAjaxterm-0.10.tar.gzn…

如何为回归问题选择最合适的机器学习方法?

作者 | 何从庆本文经授权转载自 AI算法之心&#xff08;id&#xff1a;AIHeartForYou&#xff09;在目前的机器学习领域中&#xff0c;最常见的三种任务就是&#xff1a;回归分析、分类分析、聚类分析。在之前的文章中&#xff0c;我曾写过一篇《15分钟带你入门sklearn与机器学…

【Qt】获取本地IP(IPv4)

1、问题描述 获取本地IP列表有“127.0.0.1”、IPv4、IPv6等,一般使用IPv4,如何从已经获取的IP列表中挑出IPv4。 2、解决方法 QString ipv4; auto ips = QNetworkInterface::allAddresses(); foreach (auto ip, ipps) {if ( (ip.

2.2元组介绍+字符串操作

元组可以理解为“一旦创建就不能再修改的列表”&#xff0c;所以也叫只读列表 语法&#xff1a;names("A","B","C","D") 他只有两个方法&#xff1a; ①count ②index 字符串操作&#xff1a; 示例&#xff1a;name"chan" 1…

医生再添新助手!深度学习诊断传染病 | 完整代码+实操

作者 | Dipanjan (DJ) Sarkar译者 | Monanfei编辑 | Rachel、Jane出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;【导读】文本基于深度学习和迁移学习方法&#xff0c;对疟疾等传染病检测问题进行了研究。作者对疟疾的检测原理以及迁移学习理论进行了介绍…