yzc577亚洲城娱乐[C] 内核中的双向链表在下层使用能否会有题目?(list.h)

( yzc577亚洲城娱乐 )

我将内核中的双向链表的list.h文件放到下层运用(如今在Ubuntu零碎上临时未呈现题目),能否会隐含着一些题目???

由于list.h里面运用到了内核的一些头文件不克不及包括在下层使用中,我将一些宏直接移植到了list.h里面,别的代码没有任何的变革。移植的宏如下:

#define prefetch(x) __builtin_prefetch(x)

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

#define container_of(ptr, type, member) ({            \
    const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
    (type *)( (char *)__mptr - offsetof(type,member) );})

有的文章在下层使用中运用list.h文件时,采取“在编译中运用‘-D KERNEL’开关‘诈骗’编译器”的办法能否妥当?(这与我独自将list.h文件提取到下层使用没有本质的区别)

不会有题目,这是GNU/c编译器扩展,但是运用的时分要警惕,不克不及参加分歧个节点,不然会构成环路、别的内核的红黑树也是可以拿出来用的,这些构造的完成都十分的过细。就如今我的运用来看我没有加任何的关于这个文件的编译选项,只需求把 list.h文件提取出来,把下面几个宏加上就可以

不会有题目,这地道是使用了C言语的特性,和内核有关

(看完/读完)这篇文章有何感想! yzc577亚洲城娱乐的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注