Linux中的C语言妙用
Linux中的C语言妙用
疯狂的小黑 发表于1年前
Linux中的C语言妙用
  • 发表于 1年前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

Linux中的C语言妙用

作者:兄弟连

1.两个数比较大小 #define min( x,y) ({ \ typeof( x) _x = ( x); \ typeof( y) _y = ( y); \ (void) (&_x == &_y); \ //妙用!作用是检查参数 x 和 y 的类型是否相同 _x < _y ? _x : _y; }) 2.链表的使用 这个不多说了,太棒了,可以由一个链表成员获取宿主的指针 3.do{}while(0)的使用 #define func(x) do{...;}while(0) 4.结构体中的#define strUCt sock { struct sock_common __sk_common; #define sk_family __sk_common.skc_family #define sk_state __sk_common.skc_state ..... }; 5.使用C写出的面向对象程序,通过给结构体中的成员赋予不同的函数指针而实现不同的功能,取代了大量的case语句 6.通过条件宏定义,同一函数名有不同的实现,方便调用此函数 #ifdef xxx #define func(x) do{实现;}while(0) #else #define func(x) do{}while(0) 7.零长度数组 GNU C 允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例 如: struct minix_dir_entry { __u16 inode; char name[0]; }; 8.可变参数宏 在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如: #define pr_debug(fmt,arg...) \ printk(KERN_DEBUG fmt,##arg)

标签: LINUX
共有 人打赏支持
粉丝 2
博文 96
码字总数 80472
×
疯狂的小黑
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: