GNU C编译器的gnu11和c11

摘要:
在国际标准组织发布c11之后,gnu为其编译器发布了两个标准gnu11和c11gnu11:带有gnuc扩展的c11标准。如果您的代码包含typeof__attribute__对于gnu的扩展,您必须使用它。您可以在Makefile中声明,在使用Linux时,应谨慎使用CFLAGS=-std=gnu11-g-Wall或纯标准c11,因为Linux代码中充满了gnu的痕迹。哈哈CFLAGS=-std=c11-g-Wall如何更改Makefile的默认CC编译器?在Makefile:CC=gcc中添加一行,这样Makefile的全文:CC=gccCFLAGS=-std=c11-g-Wall

国际标准组织发布c11后,gnu为自己的编译器发布两种标准gnu11和c11

gnu11:带gnu c扩展的c11标准,如果你的代码包含了typeof,__attribute__等等gnu的扩展,就必须用这个。

c11:这个就是纯c11的标准,不带gnu扩展。

可以在Makefile中声明:

CFLAGS=-std=gnu11 -g -Wall

或者,纯标准的c11,玩linux的要慎用,因为linux代码到处都是gnu的痕迹哦,哈哈

CFLAGS=-std=c11 -g -Wall

如何改变Makefile默认的CC编译器呢?

在Makefile里面加上一行:

CC=gcc

故Makefile全文:

CC=gcc
CFLAGS= -std=c11 -g -Wall

免责声明:文章转载自《GNU C编译器的gnu11和c11》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DotnetBrowser入门教程-入门selenium WebDriver 获取disabled文本框内容(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

gprof——GNU性能分析工具

gprof介绍 gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。 为gprof编译程序 在编译或链接源程序的时候...

GNU LD 脚本学习笔记

LD脚本(linker script)是什么 GNU ld是链接器,ld实际并不是GCC的一部分,ld属于binutils软件包。但是嵌入式开发时,下载的linaro GCC工具集中是包含 arm-linux-gnueabihf-ld 的。工作中我经常使用ARM的scatter文件,和这个LD脚本差不多,只不过scatter文件的功能要弱不少,这也是为什么...

《SED 单行脚本快速参考》的 awk 实现

http://linuxtoy.org/archives/sed-awk.html { 撰文/bones7456} sed 和 awk 都是 Linux 下常用的流编辑器,他们各有各的特色,本文并不是要做什么对比,而是权当好玩,把《SED 单行脚本快速参考》这文章,用 awk 做了一遍~ 至于孰好孰坏,那真是很难评论了。一般来说,sed 的命令会更短小一些...

linux系统编程:获取glibc的版本号

我的环境是ubuntu16.04 glibc官网:http://www.gnu.org/software/libc/libc.html 方法一、一般来说,涉及到库调用的程序,在链接时候都会链接到glibc,所以,可以用ldd命令来查看 ghostwu@ubuntu:~/c_program/linux_unix/chapter4$ ldd ./pwd | g...

macbook中使用彩色的ls

1、首先,macbook中原装的ls和gnu的ls是不相同的,所以,要下载安装正牌ls brew install coreutils //gnu ls 在里面 2、因为和mac的ls有冲突,所以,coreutils的命令都加了‘g',例如ls变成gls,为了取消这个限制,可以把gnu命令的执行文件夹放到path的最前面,这样就会最先执行gnu的命令,...

交叉编译python2.7.7

一、python下载网址: http://www.python.org/ftp/python/ 二、python的交叉编译依赖openssl ,openssl的下载网址: https://www.openssl.org/source/old/ 三、编译:1、交叉编译 openssl-1.0.2g # /home/sw/openssh/openssl-1.0...