linux kernel
dreamplanner
这个作者很懒,什么都没留下…
展开
-
list.h中宏list_entry宏的解析与应用
list_enty这个宏算是内核里面比较复杂的宏了。下面就对它的结构进行解析。宏的结构为:#define list_entry(ptr, type, member) / container_of(ptr, type, member) 这个宏的作用是通过ptr指针获取type的地址,其中ptr是member的指针,member是type结构的成员。这个宏里面包含另外一个宏,container_of。这个宏位于/linux/kerner.h,它的结构为:#define container_of(ptr原创 2010-09-02 18:56:00 · 804 阅读 · 0 评论 -
file_operation(文件操作)file(文件)inode(节点)
<br /><br />file_operation(文件操作)file(文件)inode(节点)<br />file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了Linux设备驱动程序的工作。<br /> 在系统内部,I/O设备的存取操作通过特定的入口点来进行,而这组特定的入口点恰恰是由设备驱动程序提供的。通常这组设备驱动程序接口是由结构file_oper转载 2010-09-14 11:46:00 · 1624 阅读 · 0 评论 -
基于list.h的简单学生管理系统
这两天看了linux内核里面经典的list.h文件,看的似懂非懂,心想要是就这样放过去了,过段时间肯定连影子记不起来了,所以决定自己动手试试,能否将这个文件里面的函数和宏应用起来。想法很完美,但时间起来确实费了不少周折,但后来想想收获到的东西,心理感觉还是蛮有成就的。。。好了,具体的过程就不多说了,代码贴出来先~首先是自己定制的"list.h"文件“mylist.h”,(也就是把程序中要用到的宏和函数粘出来另存)。#ifndef _LINUX_LIST_H #define _LINUX_LIS原创 2010-09-05 12:16:00 · 685 阅读 · 0 评论