04 2011 档案
摘要:函数指针是指向函数的指针变量。 因而"函数指针"本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就...
阅读全文
摘要:1 函数指针变量在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为"函数指针变量"。函数指针变量定义的一般形...
阅读全文
摘要:Linux内核代码 结构体初始化2011-01-24 20:40出处:中国IT实验室作者:佚名【我要评论】[导读]在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。 在阅读GNU/Linux内核代码时,我们会遇到一种特...
阅读全文
摘要:为了调试驱动,整了一天的NFS启动根文件系统出了各种问题,后来还是一一解决,不过还不太完美,因为不能使用交换机,我只能用PC和目标板直连,导致我上网很麻烦无法挂载问题一:IP-Config: Cannot add default route (-101).Looking up port of RPC...
阅读全文
摘要:本文会记录一些linux内核实现中使用到的一些小技巧,工具等等,会根据学习进度不定时更新本文......双向循环链表 第一个想写的是linux的双向循环链表(写这个的原因是因为最近学习epoll的内核代码实现,进而需要了解linux的等待队列,这其中也用到了双向循环链表,稍后也会分析linux的等...
阅读全文
摘要:typeof关键字是C语言中的一个新扩展。只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof的结构,包括以下语法类别:声明函数声明符中的参数类型链表和返回类型类型定义类型操作符ssizeof操作符复合文字typeof实参编译器接受带双下划线的关键字:__typ...
阅读全文
摘要:内核链表使用--删除链表节点当我们使用遍历的方法来删除链表时:list_for_each(pos, &student_list){ list_del(pos); } list_for_each(pos, head)这个宏定义是用来遍历链表的,通过其第一个参数pos来删除链表节点...
阅读全文
摘要:[转]kmalloc, vmalloc分配的内存结构 对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。 进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地...
阅读全文
摘要:32位cpu 地址线扩展成了32位,这和数据线的宽度是一致的。因此,在32位机里其实并不需要采用"物理地址=段:偏移"这种地址表达方式。原来在16位机里规定的每一个段不大于64kb在32位机里也不是必要的。所以,对于32位机来讲,最简单的方法就是用一个32位数来标识一个字节的存储地址,寻址时只要给出...
阅读全文
摘要:基于S3C2440的ARM9基础程序设计及分析-------JustDo最近学习了ARM9基础程序的设计,记录下所学心得,希望对初学者提供一些帮助。学习ARM程序要注意方法,先去芯片手册的相应模块部分的结构原理框图,搞清楚所使用的模块的基本原理,然后根据框图搞清楚需要设置哪些对应的寄存器,再根据时序...
阅读全文

浙公网安备 33010602011771号