你了解Linux内核中的常见符号?.doc
《你了解Linux内核中的常见符号?.doc》由会员分享,可在线阅读,更多相关《你了解Linux内核中的常见符号?.doc(2页珍藏版)》请在三一文库上搜索。
1、你了解Linux内核中的常见符号?THIS_MODULE模块是一种可以在内核运行过程中动态加载、卸载的内核功能组件。2.6内核中模块在被使用时,是不允许被卸载的。编程是需要用”使用计数”来描述模块是否在被使用。THIS_MODULE就充当了这个功能。likely在2.6的内核中经常看到这两个符号,表面上看if(likely(value)和if(unlikely(value)其实都等同于if(value),但是在实际上执行是不同,加likely的意识着value为真的可能性要大;unlikely与之相反;加上这两个宏编译器会对其进行优化,提高程序效率。BUG_ON#define BUG_ON(c
2、ondition) do if(unlikely(condiTIon) BUG(); while(0)一些内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。当被调用的时候,它们会引发oops,导致栈的回溯和错误信息的打印。为什么这些声明会导致 oops跟硬件的体系结构是相关的。大部分体系结构把BUG()和BUG_ON()定义成某种非法操作,这样自然会产生需要的oops。IS_ERR#define IS_ERR_VALUE(x) unlikely(x) =(unsigned long)-MAX_ERRNO)IS_ERR宏用来检测x地址是否有效;sta
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 了解 Linux 内核 中的 常见 符号
链接地址:https://www.31doc.com/p-3381542.html