|
Linux多文件的内核模块程序Hello
World
///////start.c////////////////////////////#include <linux/module.h>
#include <linux/kernel.h>MODULE_LICENSE("GPL");int init_module(void) { printk("<1>Hello World!"); return 0; }///////stop.c/////////////////////////////#include <linux/module.h> #include <linux/kernel.h> #define __NO_VERSION__ #include <linux/version.h>MODULE_LICENSE("GPL"); void cleanup_module(void) { printk("<1>Good Bye!"); } ///////makefile////////////////////////////CC=gcc MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -DLINUXhello.o:start.o stop.o ld -m elf_i386 -r -o hello.o start.o stop.o start.o:start.c $(CC) $(MODCFLAGS) -c start.cstop.o:stop.c $(CC) $(MODCFLAGS) -c stop.c /////////////////////////////////////////// /////////////////////////////////////////// 问题:若是在图形界面下注册模块,可能看不到printk输出的信息 这可以用dmesg的方法来输出查看 |
Linux多文件的内核模块程序Hello World
最新推荐文章于 2025-04-17 10:53:35 发布
本文介绍了一个由多个文件组成的Linux内核模块程序示例,包括start.c和stop.c两个核心文件,通过makefile进行模块的编译。该模块在加载时会打印“Hello World”,卸载时打印“GoodBye!”,并提供了使用dmesg命令查看输出的方法。
1533

被折叠的 条评论
为什么被折叠?



