linux内核中GNU C和标准C的区别

gnuc 是标准c 的扩展

1. 从安全的最值定义可以想到区别有3点:1.1 支持将大括号的复合语句当成一个表达式,成为语句表达式

                                                                      1.2 typeof 关键字 可以获取一个变量的类型

                                                                      1.3 宏定义 可以带变参数

 

2.uboot启动的时候会进行相关初始化,其实就是调用相关硬件的初始化函数,不过他不是直接调用某些函数,而是到固定的地址段去读取函数,然后执行。这就要求我们的初始化函数放在那个固定地址段处,在标准c没有办法的,但gnuc可以有一个特殊属性声明,能够告诉编译器,将函数或变量编译地址为某个代码段。特殊属性声明,有十几个吧。

3. 为了实现变长数组,可以定义数组元素个数为0

4.内建函数

5.结构体初始化,可以不按顺序,用标号元素

6.当前函数名

7.case 可以是连续的 表示   case 'a' ... 'f'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值