题库 软件开发 题目列表 linux 的 list _x005F的实现有一些宏定义...
问答题
linux 的 list _x005F的实现有一些宏定义

#define LIST_HEAD_INIT(name) { &(name), &(name) }

#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)

#define INIT_LIST_HEAD(ptr) do { \
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)

#define list_entry(ptr, type, member) \
( (type *)( (char *)(ptr)-(unsigned long)(&( (type *) 0
  )->member) ) )

LIST_HEAD(foo)
宏展开后结果是什么 ?
有下列代码,
#pragma pack(push)
#pragma pack(n)
struct  Node {
uint16_t d0;
uint8_t d1;
uint16_t d2;
struct list_head list;
} ;
#pragma pack(pop)

请写出 `#pragma pack(n)` 中,当 n =1, 2, 8 时 `OFFSETOF(Node, list)` 在64位系统的结果
题目信息
校招真题
-
正确率
0
评论
4
点击