12 2016 档案
摘要:本文系作者原创, 欢迎大家转载! 转载请注明出处:netwalker.blog.chinaunix.net 尽管在大多数时候只需关心代码运行的正确性,但是很多时候需要在编译期间就发现这些潜在的致命错误。内核提供了两个有力的宏定义: 1 include/linux/kernel.h 2 /* Forc
阅读全文
摘要:本文系作者原创, 欢迎大家转载! 转载请注明出处:netwalker.blog.chinaunix.net 1.FIELD_SIZEOF获取成员大小 FIELD_SIZEOF用来获取成员大小。它需要两个参数,第一个指定结构体的类型,第二个则指明成员的名字。 1 include/linux/kerne
阅读全文
摘要:转载:http://blog.chinaunix.net/uid-20608849-id-3027972.html 由于内核中定义了很多复杂的数据结构,而它们的实例中的成员在作为函数参数传递的时,函数中可能需要对它的包含者中的其他的兄弟成员进行处理,这就需要只根据成员地址就可以获取整个结构体变量的地
阅读全文
摘要:本文系作者原创, 欢迎大家转载! 转载请注明出处:netwalker.blog.chinaunix.net 通过位图提供的两种状态可以在非常节约内存的情况下表示开关变量,并且同类这类变量可以紧凑而高效的统一进行处理。有很多内核子系统都需要位图的支持,但是不同的情况又需要不同的位图个数,比如SMP系统
阅读全文
摘要:转载:http://stackoverflow.com/questions/1010922/question-about-round-up-macro 以下内容转载自stackoverflow关于 roundup 系列函数的讨论,已经解释的很详细了,不需要添加新内容。 With the above
阅读全文
摘要:转载:http://blog.chinaunix.net/uid-20608849-id-3027953.html 转载:http://blog.chinaunix.net/uid-20608849-id-3027953.html 内核为了保持最大的兼容性和代码灵活性,不可能直接对某个数据类型定义它
阅读全文
摘要:VA函数(variable argument function),参数个数可变函数,又称可变参数函数。C/C++编程中,系统提供给编程人员的va函数很少。*printf()/*scanf()系列函数,用于输入输出时格式化字符串;exec*()系列函数,用于在程序中执行外部文件(main(int ar
阅读全文
摘要:typeof是gcc的扩展功能,比较简单,是用来取得参数类型,具体可参考gcc官网的解释. https://gcc.gnu.org/onlinedocs/gcc/Typeof.html 本文系作者原创, 欢迎大家转载! 转载请注明出处:netwalker.blog.chinaunix.net 由于L
阅读全文
摘要:1.通知链表简介 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。 通知链表是一个
阅读全文

浙公网安备 33010602011771号