< link type = "text/css" rel = "stylesheet" href = "https://files.cnblogs.com/eben-yl/shThemeDefault.css" /> < link type = "text/css" rel = "stylesheet" href = "https://files.cnblogs.com/eben-yl/shCore.css" />

eben_yl

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2015年7月20日

摘要: 在Linux内核代码中,有非常多的代码使用了GCC的很多扩展特性,本篇文章主要是对这些特性做一个小小的总结,代码全部来自于GCC手册1.被一对花括号包起来的代码块可以作为一个表达式来使用,花括号中可以使用循环语句(while、for),开关语句(if、switch),本地变量等。代码如下:1234({ int y = foo (); int z; if (y > 0) z = y; e... 阅读全文
posted @ 2015-07-20 23:46 eben_yl 阅读(1356) 评论(3) 推荐(1) 编辑

摘要: 在C语言中可以通过宏定义的方式实现匿名函数,具体如下:123456#define lambda(return_type, function_body) \({ \ return_type $this function_body \ $this; \})#define $ lambda该定义利用了GCC对C语言的扩展(被一对花括号包起来的代码块能够返回一个值),该宏定义能... 阅读全文
posted @ 2015-07-20 20:30 eben_yl 阅读(6221) 评论(1) 推荐(1) 编辑