linux内核
曾祥锋
这个作者很懒,什么都没留下…
展开
-
container_of详解
container_of详解 zxf@zxf-virtual-machine:11_container_of$ ls container_of container_of.c zxf@zxf-virtual-machine:11_container_of$ vim container_of.c zxf@zxf-virtual-machine:11_container_of...原创 2019-02-11 19:18:36 · 286 阅读 · 0 评论 -
内核链表在应用层的应用实例
内核链表在应用层的应用实例内核链表在应用层的应用:更改内核原码中的list.h,删除头文件,加上struct list_head { struct list_head* prev,*next;},加上container_of和offset,加上宏定义#define LIST_POISON1 ((void *) 0x00100100 + 0)#define LIST_POISON2 (...原创 2019-02-12 13:26:57 · 516 阅读 · 0 评论 -
标准文件IO之文件描述符
标准文件IO中打死的是一个句柄;句柄从0开始前三个分别为stdin ,stdout,stderr然后还有一个文件项中,有一个inode的文件点,根据这个文件点可以找到该文件在inode在磁盘中的位置 。struct file { /* * fu_list becomes invalid after file_free is called and queued via * fu_rcu...原创 2019-02-19 13:13:00 · 373 阅读 · 0 评论 -
linux下静态库和动态库的制作和分析
前提知识点: -shared:指定生成动态链接库。 -static:指定生成静态链接库。(创建静态库我们一般用ar命令,它将很多.o转换成.a) -fPIC:表示编译为位置独立的代码,用于编译共享库。目标文件需要创建成位置无关码,概念上就是在可执行程序装载它们的时候,它们可以放在可执行程序的内存里的任何地方。 Position Independent Code -L.:表示要连接的...原创 2019-02-20 12:48:00 · 586 阅读 · 0 评论 -
Linux内核Makefile用于日常工程
Linux内核Makefile用于日常工程我当前的目录结构:zxf@zxf-virtual-machine:com_make$ lsa b c d include main.c Makefile Makefile.buildzxf@zxf-virtual-machine:com_make$ tree.├── a│ ├── a.c│ └── Makefile├...原创 2019-03-31 22:45:26 · 158 阅读 · 0 评论 -
驱动开发框架 -------内核模块结构|source insight 工程创建|模块的属性
========================================1,驱动开发框架 -------内核模块结构2,模块的属性3,source insight 工程创建4,一个完整的驱动程序的组成5,面向对象的编程========================================一, 驱动开发框架 -------内核模块结构1,基本模块框架//头文件...原创 2019-04-01 09:14:26 · 489 阅读 · 0 评论 -
Linux字符设备通用模板
Linux字符设备通用模板Makefile#!/bin/bashobj-m += char_demo.oPWD := $(shell pwd)KDIR ?= /home/topeet/Desktop/ubootkernel2018/iTop4412_Kernel_3.0all: make -C $(KDIR) M=$(PWD) modules.PHONY:clean...原创 2019-04-01 21:25:55 · 286 阅读 · 0 评论