linux模块编程

本文详细介绍了一个简单的Linux模块编程实例,包括源文件编写、Makefile配置、模块编译、加载及卸载过程。通过具体代码示例,展示了如何使用 printk 函数进行调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  linux模块编程的流程:
  一,编写源文件,如mymodule.c
 

点击(此处)折叠或打开

  1. #include <linux/module.h>
  2. #include <linux/kernel.h>
  3. #include <linux/init.h>

  4. static int __init lkp_init(void)
  5. {
  6.         printk("hello\n");
  7.         return 0;
  8. }

  9. static void __exit lkp_exit(void)
  10. {
  11.         printk("exit\n");
  12. }

  13. module_init(lkp_init);
  14. module_exit(lkp_exit);
  15. MODULE_LICENSE("GPL");
二.编写Makefile文件

点击(此处)折叠或打开

  1. #Makefile2.6
  2. obj-m :=mymodule.o
  3. CURRENT_PATH:=$(shell pwd)
  4. LINUX_KERNEL:=$(shell uname -r)
  5. LINUX_KERNEL_PATH:=/usr/src/kernels/$(LINUX_KERNEL)
  6. all:
  7.         make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules
  8. clean:
  9.         make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean
三 .执行 make命令,生成内核模块
四. 用root身份执行insmod mymodule.ko,插入内核模块。
五. 用root身份执行rmmod mymodule,删除内核模块。


阅读(171) | 评论(0) | 转发(0) |
0

上一篇:安装linux源码

下一篇:模拟linux内核哈希表

给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值