简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
虚拟机:VMwareWorkstation 8.0.2 build-591240 从事Linux开发的软件工程师几乎都使用过虚拟机软件,如VMware workstation,一般把虚拟机软件运行在微软的操作系统中,把Linux操作系统(如Ubuntu)运行在虚拟机软件中,这样就可以在一台主机上同时使用两个不同类型的操作系统,非常方便。 运行在虚拟机中的操作系统以.vmd
运行环境:虚拟机下的Ubuntu 11.04 结合Graphviz工具,使用CodeViz可以生成直观和漂亮的C/C++程序函数之间的调用关系图。 1、安装graphviz 在安装CodeViz之前,必须先安装它所依赖的工具dot,否则将无法完成./configure操作并提示以下错误信息:checking for dot...not foundFATA
开发平台:基于虚拟机的Ubuntu 11.04 内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 参考文献:《深入Linux内核架构》 关于散列表的概念可以参考博文《散列表的基本概念及其运算》。 1、PID散列表 PID散列表是在系统启动过程中通过pidhash_init函数(被start_kern
开发平台:Ubuntu11.04 编译器:gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 内核源码:linux-2.6.38.8.tar.bz2 据我们所知,单链表只有一个指向其直接后继的指针域,而且只能从某个结点出发顺着指针域往后寻查其他结点。若要寻查结点的直接前趋,则需要从头指针重新开始。为了克服单链表这种单
开发平台:Ubuntu 11.04 内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 在Linux应用程序的开发中,可以通过fork、vfork和clone等系统调用来创建一个子进程,它们在Linux内核中的入口点分别为sys_fork、sys_vfork和sys_clone函数。 /* linux-2.6.38.8/arch
内核源码:linux-2.6.38.8.tar.bz2 在Linux内核中,通知链是一种非常好的异步通信机制,它的实现也非常简单,就是通过某个单循环链表来实现。 1、通知链实例都使用notifier_block结构体来表示 /* linux-2.6.38.8/include/linux/notifier.h */struct notifier_block {in
2、结构体相关操作函数 (1)、dev_alloc_skb 实际上,函数dev_alloc_skb最终是调用__alloc_skb函数来分配数据缓冲区和sk_buff结构体的,如下图: 从dev_alloc_skb到__alloc_skb所涉及的源代码如下: /* linux-2.6.38.8/net/core/skbuff.c */struct sk_b
前言:计算机语言是编译器和程序员交流的依据和规范,GNU C是GCC特有的功能,在Linux内核中被广泛应用。 帮助文档:http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/C-Extensions.html#C-Extensions 关键字typeof用于获取表达式的数据类型。 简单例子,如清单1: char *chpt
前言:计算机语言是编译器和程序员交流的依据和规范,GNU C是GCC特有的功能,在Linux内核中被广泛应用。 帮助文档:http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/C-Extensions.html#C-Extensions 1、零长数组 GNU C允许声明长度为零的数组,但它只能被用于结构体的最后一个成员。
开发平台:基于虚拟机的Ubuntu 11.04 内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 参考文献:《深入Linux内核架构》 关于散列表的概念可以参考博文《散列表的基本概念及其运算》。 1、PID散列表 PID散列表是在系统启动过程中通过pidhash_init函数(被start_kern