成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號(hào)

簡單介紹 Linux 中的 C 語言妙用
2006-08-01   賽迪網(wǎng)

1.兩個(gè)數(shù)比較大小

#define min( x,y) ({

typeof( x) _x = ( x);

typeof( y) _y = ( y);

(void) (&_x == &_y); //妙用!作用是檢查參數(shù) x 和 y 的類型是否相同

_x < _y ? _x : _y; })

2.鏈表的使用

這個(gè)不多說了,太棒了,可以由一個(gè)鏈表成員獲取宿主的指針

3.do{}while(0)的使用

#define func(x) do{...;}while(0)

4.結(jié)構(gòu)體中的#define

struct sock {

struct sock_common __sk_common;

#define sk_family __sk_common.skc_family

#define sk_state __sk_common.skc_state

.....

};

5.使用C寫出的面向?qū)ο蟪绦颍ㄟ^給結(jié)構(gòu)體中的成員賦予不同的函數(shù)指針而實(shí)現(xiàn)不同的功能,取代了大量的case語句

6.通過條件宏定義,同一函數(shù)名有不同的實(shí)現(xiàn),方便調(diào)用此函數(shù)

#ifdef xxx

#define func(x) do{實(shí)現(xiàn);}while(0)

#else

#define func(x) do{}while(0)

7.零長度數(shù)組

GNU C 允許使用零長度數(shù)組,在定義變長對(duì)象的頭結(jié)構(gòu)時(shí),這個(gè)特性非常有用。例

如:

struct minix_dir_entry {

__u16 inode;

char name[0];

};

8.可變參數(shù)宏

在 GNU C 中,宏可以接受可變數(shù)目的參數(shù),就象函數(shù)一樣,例如:

#define pr_debug(fmt,arg...)

printk(KERN_DEBUG fmt,##arg)

熱詞搜索:

上一篇:教你按自己想要的方式制作 Linux 手機(jī)
下一篇:淺談如何在 Windows 上應(yīng)用 uClinux

分享到: 收藏
主站蜘蛛池模板: 搜狐视频官网| hd经典复古性mature| 我在稻草狗截取了一小片段原声| 罗马之春| 拥抱星星的月亮演员表| 太上老君说五斗金章受生经| 红日歌词中文谐音歌词| 激情小视频在线| 白皮书电影| 日本电影家庭教师| 强好案电影| 爱情天梯| 广西百色地图| 秀人网美女套图| 《画江湖之不良人》| 恶搞之家一共有几季| 刘浩存个人简历资料| 爱你的主题曲| 40集电视连续剧人生之路| 山上的小屋 残雪原文| 张孝全| 甲种公牛1976| 北京卫视今晚的电视剧是什么| 二年级100个数学应用题| 丧尸童子军| 金酸梅奖| 康熙微服私访记1| 爱情天梯| 徐一航的电视剧叫什么| 罗马之春| frank sinatra| 补锌之王的食物| 1988田螺姑娘| 大森元贵| 开运咒| 茅山道士在线观看| 媚狐传| 买下我俄罗斯完整版免费观看| 灌篮高手日语版免费观看| 杀破狼·贪狼 2017 古天乐| 100张照片|