摘要: 原地址:http://radek.io/2012/11/10/magical-container_of-macro/ 当你开始内核编程的时候,你会随便看看代码,那么你可能很快就会碰到这个神奇的预处理代码结构。 它是用来干嘛的?正如它的名称那样,它获取的是它的容器的地址。该函数需要三个变量--指针,容 阅读全文
posted @ 2017-10-18 14:29 立体风 阅读(696) 评论(0) 推荐(0) 编辑
摘要: « radek.io The Magical container_of() Macro The Magical container_of() Macro The Magical container_of() Macro The Magical container_of() Macro 10 Nov 阅读全文
posted @ 2017-10-18 14:27 立体风 阅读(314) 评论(0) 推荐(0) 编辑
摘要: https://gcc.gnu.org/onlinedocs/gcc/Typeof.html 6.6 Referring to a Type with typeof Another way to refer to the type of an expression is with typeof. T 阅读全文
posted @ 2017-10-18 14:19 立体风 阅读(148) 评论(0) 推荐(0) 编辑
摘要: http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html#Statement-Exprs 6.1 Statements and Declarations in Expressions A compound statement enclosed in 阅读全文
posted @ 2017-10-18 14:18 立体风 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1、c语言的结构体中,因为字节对齐的问题,导致成员地址并不能根据类型的大小进行计算。例如: 2、offsetof宏的实现如下: 哈哈,复杂吧,解释一下:由于造成空洞的对齐动作是由编译器负责完成的,这里有一个欺骗编译器的指令:((TYPE *)0), 意思是定义一个指向TYPE类型的指针,且该指针值( 阅读全文
posted @ 2017-10-18 10:22 立体风 阅读(2858) 评论(0) 推荐(0) 编辑