内核分析阅读笔记

简介: include/Linux/stddef.h中macro offsetof define,list: #define offsetof(TYPE,MEMBER) ((size_t) &((TYPE *)0)->MEMBER) offsetof macro对于上述示例的展开剂分析:&((struc...

include/Linux/stddef.h中macro offsetof define,list:

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

offsetof macro对于上述示例的展开剂分析:&((struct example_struct *)0)->list表示当结构example_struct正好在地址0上时其成员list的地址,即成员位移.

traverse linked list member element;

下面使用list_entry macro遍历链表得到链表指针,再从链表指针映射回对应结构example_struct的指针,然后,对其成员priority进行操作,函数example_add_entry的功能是给链表加入新的结构成员

void example_add_entry(struct example_struct *new)

{

  struct list_head *ptr;

  struct example_struct *entry;

  //遍历链表

  for (ptr = example_list.next;ptr != &example_list;ptr = ptr->next) {

  //映射回 对应结构example_struct的指针

  entry = list_entry(ptr,struct todo_Struct,list);

  

}

}

目录
相关文章
|
5月前
|
存储 机器学习/深度学习 算法
|
5月前
|
开发框架 数据挖掘 .NET
毕业论文管理系统设计与实现(论文+源码)_kaic
毕业论文管理系统设计与实现(论文+源码)_kaic
|
5月前
|
人工智能 Unix 开发工具
vimtutor阅读笔记
csdn博客搬运 vim 常用操作
48 0
|
机器学习/深度学习 自然语言处理 算法
graphSage还是HAN ?吐血力作综述Graph Embeding 经典好文
graphSage还是HAN ?吐血力作综述Graph Embeding 经典好文
graphSage还是HAN ?吐血力作综述Graph Embeding 经典好文
|
机器学习/深度学习 算法
《趣学算法》阅读笔记(二)
《趣学算法》阅读笔记(二)
128 0
《趣学算法》阅读笔记(二)
|
JavaScript 前端开发 网络协议
《DDIA 逐章精读》小册
《DDIA 逐章精读》小册
446 0
|
存储 SQL 数据库
《数据库系统概论》十一章汇总--基于《数据库系统概论》第五版王珊一书|全书大纲预览和易错总结(上)
系列的博客都是基于《数据库系统概论》第五版王珊一书,进行的知识总结和课后习题汇总,从第一章到第十一章,如果觉得不错记得收藏点个赞吧~你的小小支持,是我的大大动力!
221 0
|
SQL 存储 安全
《数据库系统概论》十一章汇总--基于《数据库系统概论》第五版王珊一书|全书大纲预览和易错总结(下)
系列的博客都是基于《数据库系统概论》第五版王珊一书,进行的知识总结和课后习题汇总,从第一章到第十一章,如果觉得不错记得收藏点个赞吧~你的小小支持,是我的大大动力!
313 0
|
SQL 存储 数据库
《数据库系统概论》十一章汇总--基于《数据库系统概论》第五版王珊一书|第十章--数据库恢复(下)
该系列的博客都是基于《数据库系统概论》第五版王珊一书,进行的知识总结和课后习题汇总,从第一章到第十一章,如果觉得不错记得收藏点个赞吧~你的小小支持,是我的大大动力!
156 0
下一篇
无影云桌面