博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
与标准C相比,GNU C的特点
阅读量:5814 次
发布时间:2019-06-18

本文共 789 字,大约阅读时间需要 2 分钟。

  hot3.png

1. 零长度数组 2. case 语法 3.GNU  C  把包含在括号中的复合语句看做是一个表达式,称为语句表达式,它可以出现在任何允许表达式的地方。 4.  typeof 关键字 typeof(x)语句可以获得 x 的类型 5.可变参数的宏 标准 C 只支持可变参数的函数,意味着函数的参数是不固定的。 6.标号元素 准 C 要求数组或结构体的初始化值必须以固定的顺序出现,在  GNU C  中,通指定索引或结构体成员名,允许初始化值以任意顺序出现。 7.当前函数名 GNU C  预定义了两个标志符保存当前函数的名字,_ _FUNCTION_ _保存函数在源码中的名字,_ _PRETTY_FUNCTION_ _保存带语言特色的名字。 8.特殊属性声明 GNU C 允许声明函数、变量和类型的特殊属性,以便进行手工的代码优化和定制代码检查的方法。指定一个声明的属性,只需要在声明后添加__attribute__ (( ATTRIBUTE ))。其中  ATTRIBUTE 为属性说明,如果存在多个属性,则以逗号分隔。GNU C  支持 noreturn、format、section、aligned、packed 等十多个属性。 9.内建函数 GNU C 提供了大量的内建函数,其中大部分是标准 C 库函数的 GNU C 编译器内建版本,例如 memcpy()等,它们与对应的标准 C 库函数功能相同。 10 .do { } while(0) 在 Linux 内核中,经常会看到 do{}while(0)这样的语句,许多人开始都会疑惑,认为 do{}while(0)毫无意义,因为它只会执行一次,加不加 do{}while(0)效果是完全一样的,其实 do{}while(0)主要用于宏定义中。

转载于:https://my.oschina.net/itfanr/blog/195676

你可能感兴趣的文章
mysql join优化原理
查看>>
Css 描点
查看>>
别人恃才自傲,你却虚怀若谷。——保持谦虚
查看>>
计算机网络起源 网络发展简介(一)
查看>>
AT3908 Two Integers
查看>>
渐变色文字
查看>>
JS找出一串字符中出现最多的字符
查看>>
C++ 0X 新特性实例(比较常用的) (转)
查看>>
node生成自定义命令(yargs/commander)
查看>>
各种非算法模板
查看>>
mahout learning 代码示例
查看>>
node-express项目的搭建并通过mongoose操作MongoDB实现增删改查分页排序(四)
查看>>
PIE.NET-SDK插件式二次开发文档
查看>>
如何创建Servlet
查看>>
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
Linux单用户CS模型TCP通讯完全注释手册
查看>>
win7 64位+Oracle 11g 64位下使用 PL/SQL Developer 的解决办法
查看>>
to Generate Armstrong Numbers
查看>>
配置管理
查看>>
sql的行转列(PIVOT)与列转行(UNPIVOT)
查看>>