易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux Module编程小结

1. Makefile
使用Makefile来编译模块,不能直接使用gcc。
实际使用的是当前活动内核模块的Makefile来完成相关工作的。
ifneq ($(KERNELRELEASE),)
    obj-m := hello.o calculate.o
else
        KDIR := /lib/modules/2.6.18-53.el5xen/build
all:
        make -C $(KDIR) M=$(PWD) modules
clean:
        rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
2. Makefile解析
obj-m:编译后生成的模块
-C $(KDIR): 指定make的目录是当前的内核源代码目录
-M=$(PWD):指定是外部模块,并且,指定模块文件目录是当前工作目录(pwd)
3. 符号导出
/proc/kallsyms:所有导出符号
导出样例:calculate.c
EXPORT_SYMBOL(add_integar);
EXPORT_SYMBOL(sub_integar);
~


相关文档:

(zz)Linux下OpenGL开发环境搭建

准备篇
环境是Fedora 8
首先需要安装OpenGL的开发环境。现在Linux下有很多OpenGL的实现,Fedora 7中已经附带了Mesa,这是OpenGL一个开源的实现。安装Fedora时如果选中了开发环境,那么Mesa可能就已经安装好了。如果你和我一样安装的时候没有选择开发,那么,可以通过yum来在线安装Mesa:
首先查找Mesa相关的包:
&nbs ......

[转贴]Linux网络驱动程序

Linux驱动程序
--------------------------------------------------------------------------------
工作需要写了我们公司一块网卡的Linux驱动程序。经历一个从无到有的过程,深感技术交流的重要。Linux作为挑战微软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序文档贴出来,希望和大家探讨L ......

linux目录和文件系统

Linux 和 Unix 文件系统被组织成一个有层次的树形结构。文件系统的最上层是 /,或称为 根目录。在 Unix 和 Linux 的设计理念中,一切皆为文件——包括硬盘、分区和可插拔介质。这就意味着所有其它文件和目录(包括其它硬盘和分区)都位于根目录中。 例如:/home/jebediah/cheeses.odt 给出了正确的完整路径,它指 ......

Linux进程间通讯之消息队列


1. 基本概念
消息队列的最佳定义是:内核地址空间中的内部链表。消息可以顺序地发送到队列中,
并以几种不同的方式从队列中获取。当然,每个消息队列都是由 IPC标识符所唯一标识的。
2. 内部和用户数据结构
要完成理解象系统 V IPC这样复杂的问题,关键是要彻底熟悉内核的几个内部数据结构。
甚至对那些最基本的操作 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号