仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 416|回复: 8
打印 上一主题 下一主题

[其他Linux] 来一发进修场地:Linux体系内核中判别巨细的宏

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 16:48:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。
Min和Max宏:
 
  /*
*min()/max()macrosthatalsodo
*stricttype-checking..Seethe
*"unnecessary"pointercomparison.
*/
#definemin(x,y)({
typeof(x)_x=(x);
typeof(y)_y=(y);
(void)(&_x==&_y);
_x<_y?_x:_y;})
#definemax(x,y)({
typeof(x)_x=(x);
typeof(y)_y=(y);
(void)(&_x==&_y);
_x>_y?_x:_y;})
/*
*..andifyoucanttakethestrict
*types,youcanspecifyoneyourself.
*
*Ornotusemin/maxatall,ofcourse.
*/
#definemin_t(type,x,y)
({type__x=(x);type__y=(y);__x<__y?__x:__y;})
#definemax_t(type,x,y)
({type__x=(x);type__y=(y);__x>__y?__x:__y;})

 
  不是感到跟我们用的有些纷歧样啊:
 
  (void)(&_x==&_y);
 
  (void)(&_x==&_y)这句话自己都实行程序来说完整是一句空话,它的感化在于,自己我们没法做如许的操纵typeof(_x)==typeof(_y),以是存心判别他们2个的地点指针是不是相称,明显是不成能相称,可是假如_x和_y的范例纷歧样,其指针范例也会纷歧样,2个纷歧样的指针范例举行对照操纵,会抛出一个编译告诫。也就是说char*p;int*q;然后p==q;,这个判别由于一个是char*一个是int*,会在编译时发生一个warning.奇妙就奇妙在这里。
 
  因为内核是良多开辟着一同开辟的,个中另有一些其他的完成,就跟我们寻常用的一样:
 
  #definemin(a,b)(((a)<(b))?(a):(b))
 
  试想:
 
  min(++a,++b)==>((++a)<(++b))?(++a):(++b)
 
  是否是就有成绩了,传进的参数被加了两次
</p>
买一本命令参考手册是必要的,遇到不知道怎么用的命令可以随时查询,这要比查man文档快.特别适合英语不好。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-18 17:03:58 | 只看该作者
选择一些适于初学者的Linux社区。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-25 23:27:32 | 只看该作者
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-4 13:23:23 | 只看该作者
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
再现理想 该用户已被删除
5#
发表于 2015-2-9 23:37:34 | 只看该作者
我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-28 09:40:50 | 只看该作者
不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。
山那边是海 该用户已被删除
7#
发表于 2015-3-9 22:11:01 | 只看该作者
感谢老师和同学们在学习上对我的帮助。
莫相离 该用户已被删除
8#
发表于 2015-3-17 02:10:15 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
不帅 该用户已被删除
9#
发表于 2015-3-23 17:26:04 | 只看该作者
随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 23:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表