仓酷云

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

[其他Linux] 带来一篇Linux操纵体系内核中的指针和毛病值

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

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

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

x
如果你让他去用linux搭建一个web服务器,做一个linux网关,他就什么都不会了.他们把时间都浪费在了版本的转换上了.
在内核的代码和驱动程序中常常见到ERR_PTR,IS_ERR,PTR_ERR这三个内联函数。
很多的内核函数必要前往一个指针,可是函数的挪用大概失利,一样平常我们处置如许的情况都是前往一个NULL指针,就像malloc或kmalloc在没有取得指定的空间请求时的前往值一样。可是偶然我们想晓得招致函数失利的缘故原由,可是前往NULL就显得信息不敷。因而有些函数前往一个实践的毛病编码以便对引发毛病的缘故原由做一些处置。良多内核接口经由过程把毛病值编码到一个指针值中来前往毛病信息。当处置如许的函数时,判别是不是乐成挪用就不克不及是复杂的和NULL举行对照。为了便利利用如许的范例接口,2.6的内核在linux/err.h中完成了三个内联函数:
inlinevoid*ERR_PTR(longerror)
{
return(void*)error;
}
前往指针范例的函数能够经由过程这个函数来前往一个毛病值。这里的error是一般的负的毛病编码。挪用者可使用IS_ERR来反省所前往的指针是不是是一个毛病编码。
inlinelongIS_ERR(constvoid*ptr)
{
return(unsignedlong)ptr>(unsignedlong)-1000L;
}
假如必要实践的毛病编码,能够经由过程PTR_ERR函数提取
inlinelongPTR_ERR(constvoid*ptr)
{
return(long)ptr;
}
只要在IS_ERR前往真的时分才干利用PTR_ERR

</p>
使用gcc或g++进行编译,使用gdb进行调试;
透明 该用户已被删除
沙发
发表于 2015-1-18 15:45:25 | 只看该作者
随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-24 12:22:23 | 只看该作者
得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
深爱那片海 该用户已被删除
地板
发表于 2015-2-1 12:20:56 | 只看该作者
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
admin 该用户已被删除
5#
发表于 2015-2-7 06:39:16 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
活着的死人 该用户已被删除
6#
发表于 2015-2-20 23:54:37 | 只看该作者
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-6 19:37:18 | 只看该作者
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。
小魔女 该用户已被删除
8#
发表于 2015-3-13 08:07:13 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
分手快乐 该用户已被删除
9#
发表于 2015-3-20 17:09:20 | 只看该作者
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 07:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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