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'