当前位置:  技术问答>linux和unix

谁知IS_ERR()的涵义?

    来源: 互联网  发布时间:2017-01-05

    本文导语:  现有如下代码: #define MAX_ERRNO 4095 #define IS_ERR_VALUE(x) unlikely(x)>=(unsigned long)-MAX_ERRNO static inline long IS_ERR(const void *ptr) {    return IS_ERR_VALUE(unsigned long)ptr); } 书上说,内核最后一个PAGE是4K的,所以定义MAX_ERRNO=409...

现有如下代码:
#define MAX_ERRNO 4095
#define IS_ERR_VALUE(x) unlikely(x)>=(unsigned long)-MAX_ERRNO
static inline long IS_ERR(const void *ptr)
{
   return IS_ERR_VALUE(unsigned long)ptr);
}
书上说,内核最后一个PAGE是4K的,所以定义MAX_ERRNO=4095,那
unsigned long是多少?什么涵义?

|
负的4095转成unsigned long类型相当于2的32次方-4095(如果unsigned long是32位)
就是说你的指针地址不能大于 2的32次方-4095,相当于不能指向32位地址空间的地址最高的最后一个page.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 谁知道websphere的试用版怎么做掉?
  • 谁知道有类似启动kde的指令startkde,来启动gnome?
  • 谁知道jdbc有什么好一点的书,一定给分
  • 请问JBulider 4的序列号谁知到?能否提供给小弟?谢谢
  • 谁知道jbuilder3的KEY
  • 谁知道在哪儿可以找到Imap 4.5
  • 请问谁知道那有classes.zip for jdk1.2 ?
  • 谁知道哪儿有jbuilder5下载
  • 有谁知道关于Applet中怎么样调用html. 50分全送
  • jbuilder5企业版的序列号谁知道?
  • 谁知道JB的书籍下载?
  • 谁知道websphere4该怎么设置
  • 谁知道java认证的日期?
  • 谁知道Borland application server 5.0的serial number 和 key?
  • 请问有谁知道那里有Linux系统的ADSL拨号软件下载!谢谢!
  • 谁知道如何写脚本,一开机就执行某程序?
  • 谁知道哪里有jbulider4下载,我的机器跑jbulider5很慢!
  • 谁知道如何使用sygate作二级代理〉??
  • 有谁知道哪有下载 JB6 的地方?谢谢
  • 谁知道MySQL的驱动接口程序在那里下载?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    博客 iis7站长之家