ch02 hello
来源:互联网 发布:战争雷霆淘宝代码 编辑:程序博客网 时间:2024/06/07 17:52
编译:
首先拷贝hello.c到一个单独的目录,编写Makefile.
如下:
obj-m := hello.o
编译:
首先拷贝hello.c到一个单独的目录,编写Makefile.
如下:
[root@Tsui-Fedora learn]# pwdMakefile 中内容如下:
/home/Tsui/learn
[root@Tsui-Fedora learn]# cp ldd3/examples/misc-modules/hello.c ldd3/tmp/
[root@Tsui-Fedora learn]# cd ldd3/tmp/
[root@Tsui-Fedora tmp]# ls
hello.c Makefile
[root@Tsui-Fedora tmp]# vi Makefile
obj-m := hello.o
编译:
[root@Tsui-Fedora tmp]# make -C /lib/modules/2.6.33.3-85.fc13.i686.PAE/build/ M=/home/Tsui/learn/ldd3/tmphello.ko就是我们编译出来的模块,用insmod可以加载到内核去,rmmod可以卸载模块,lsmod可以查看模块有没有加载上。
make: Entering directory `/usr/src/kernels/2.6.33.3-85.fc13.i686.PAE'
LD /home/Tsui/learn/ldd3/tmp/built-in.o
CC [M] /home/Tsui/learn/ldd3/tmp/hello.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/Tsui/learn/ldd3/tmp/hello.mod.o
LD [M] /home/Tsui/learn/ldd3/tmp/hello.ko
make: Leaving directory `/usr/src/kernels/2.6.33.3-85.fc13.i686.PAE'
[root@Tsui-Fedora tmp]# ls
built-in.o hello.ko hello.mod.o Makefile Module.symvers
hello.c hello.mod.c hello.o modules.order
[root@Tsui-Fedora tmp]# insmod hello.kodmesg会打印出很多信息,在最后面可以看到hello.c里面printk输出的信息。
[root@Tsui-Fedora tmp]# lsmod | grep hello
hello 628 0
[root@Tsui-Fedora tmp]# dmesg
- ch02 hello
- Ch02
- Notes [ Linux Device Drivers, 3rd Edition ( Ch02 ) - The Hello World Module ]
- 【《Objective-C基础教程 》笔记ch02】(一)Hello Object-C 项目
- ch02:进程
- v4l2 spec 中文 Ch02
- ch02 脚本基础
- ch02创建Android项目
- 【DataStructure&AlgorithmInJava】Ch02-HighArrayDemo
- 【DataStructure&AlgorithmInJava】Ch02-BinarySearchDemo
- 【DataStructure&AlgorithmInJava】Ch02-PersonArrayDemo
- CH02:提供推荐
- 编程珠玑ch02
- ch02.渲染流水线
- ch02 UNIX标准化及实现
- 机器学习实战:ch02-1
- java网络编程读书笔记-Ch02
- 深入理解linux内核-ch02
- 精华贴子整理之SQL性能优化2
- 我们都爱冷笑话
- 如何使用代理帐号下载Android源代码
- JavaScript 比较和逻辑运算符
- JS动态调用函数的方式
- ch02 hello
- 敏捷开发中编写高质量Java代码---转
- 如何把对象序列化为字符串进行WEB传输
- JavaScript If...Else 语句
- sfc_os.dll第五号函数替换文件
- 混合高斯背景建模
- 地图上2不同区域内的路网存储过程
- Jquery 投票插件
- Milan Serie A 2 crack chasing prey before he is the world's No. 1 star