GNU C对C的语言的扩展,摘自robert love的linux systerm programming一书

本文介绍了GCC编译器提供的一系列优化属性和特性,包括内联函数、纯函数、常量函数等,并探讨了如何利用这些特性提高编译效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以给编译器优化时使用!!!gcc编译噢!

 

http://gcc.gnu.org/

 

部分已经存在于最新的C99标准。

 

GNU C提供了零长度数组,复杂变量,内联函数,命名初始器等。

 

具体如下:

1. static inline

2. 务必内联 __attribute__ ((always_inline))

3. 禁止内联 __attribute__ ((noinline))

4. 纯函数 。。。 pure                      如strlen,返回值必须有意义,非void

5. 常量函数     const                          。。。。记不住

6.                      noreturn

7.                      malloc

8.                      warn_unused_result

9.                      deprecated

10.                    used

11.                    unused

12.                    packed

13.                    aligned(32),aligned

1. 分支注释 likely, unlikely

2. 将全局变量放入寄存器  ,     register  变量定义 asm("...")

3. 取得一个表达式的数据类型 typeof

4. case 一段范围, 如1 ... 10,需要有空格。

5. 取得函数的返回地址 __builtin_return_address

6 offsetof 结构中指定成员的偏移量

7. 数据类型的对齐边界 __alignof__((...))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值