博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LKM】整合多个LKM为1个
阅读量:4205 次
发布时间:2019-05-26

本文共 469 字,大约阅读时间需要 1 分钟。

假设原来编写了两个LKM: 1.c 和 2.c ,各自make insmod/rmmod是没问题的。

但是如果你需要在1.c中调用2.c的函数,那就麻烦了。折腾了一个小时才搞定。

1、首先编写2.h,把你需要的函数 申明在头文件中。删掉2.c中的 module_init 和 module_exit。

2、在1.c中 #include "2.h", 调用函数。

3、编写Makefile,参考如下:

obj-m += 3.o3-objs :=  1.o 2.occflags-y := -std=gnu99 -Wno-declaration-after-statementall:	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modulesclean:	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) cleaninsmod:	sudo insmod 3.ko	rmmod:	sudo rmmod 3.ko

 

参考:

转载地址:http://pvmli.baihongyu.com/

你可能感兴趣的文章
面试刷题33:如何应对高并发?
查看>>
面试刷题34:说一下分布式架构中的缓存使用场景?
查看>>
面试刷题35:负载均衡有哪几种实现方式?
查看>>
面试刷题36:线程池的原理和使用方法?
查看>>
面试刷题36:线程池的原理和使用方法?
查看>>
面试刷题37:微服务是什么?springcloud,springboot是什么?
查看>>
技术面试要做哪些准备?
查看>>
kafka的基本体系结构
查看>>
kafka消息分区机制原理
查看>>
kafka高吞吐量之消息压缩
查看>>
如何保证kafka消息不丢失
查看>>
如何保证kafka消息不丢失
查看>>
请设计一个核心功能稳定适合二开扩展的软件系统
查看>>
kafka可插拔增强如何实现?
查看>>
COLA的扩展性使用和源码研究
查看>>
SOFA入门
查看>>
DDD之1微服务设计为什么选择DDD
查看>>
DDD之2领域概念
查看>>
DDD之3实体和值对象
查看>>
DDD之4聚合和聚合根
查看>>