![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux内核源码学习
weixin_45228780
本人主要从事工控产品的软件开发,熟悉C语言、C++、C#、JAVA,熟悉单片机开发,熟悉PLC编程,熟悉嵌入式Linux开发,熟悉各种工业控制通讯接口。
展开
-
Linux内核源码学习之链表
链表是Linux内核中最简单、最普通的数据结构,运用及其广泛。链表是一种存放和操作可变数量元素(常称为节点)的数据结构。链表和静态数组的不同之处在于,它所包含的元素都是动态创建并插入链表的。在编译时不必知道具体需要创建多少个元素,另外由于每个元素的创建时间都不相同,所以它们在内存中无需占用连续内存区。由于元素是不连续存放,所以各元素需要通过某种方式被连接在一起,于是每个元素都包含一个...原创 2019-10-11 15:35:38 · 452 阅读 · 0 评论 -
Linux内核源码学习之typeof、offsetof和container_of宏
在学习Linux内核链表list.h时,遇见了两个很特别的宏定义,它们就是鼎鼎大名的offsetof和container_of宏。本文将分四部分介绍,第一部分介绍typeof,第二部分介绍offsetof宏,第三部分介绍container_of宏,第四部分展示这两个宏的使用代码示例。一、typeoftypeof并不是ISO/IEC 9899:1999里的,也就是...原创 2019-06-18 16:56:18 · 643 阅读 · 0 评论 -
Linux内核源码学习之kfifo
队列适合于生产者和消费者的编程模型中。在该模型中,生产者创造数据,消费者则读取并处理数据。Linux内核通用队列由kfifo实现。它实现在文件kernel/kfifo.c中,声明在<linux/kfifo.h>中。这里分析的是内核版本2.6.35.3的kfifo。一、kfifo原理 kfifo实现原理是采用循环(环形)队列。关于循环(环形)队列请自行百...原创 2019-08-09 15:19:23 · 1112 阅读 · 0 评论