Linux编译内核模块静态库

本文介绍了如何将内核静态库编译连接到Linux驱动程序中,特别是在静态库中使用内核数据结构时遇到的<asm/linkxxx.h>等头文件找不到的问题。提供了一个静态库的makefile示例,通过指定内核头文件目录和包含autoconf.h文件来解决编译错误。
摘要由CSDN通过智能技术生成

如果你到静态库不需要使用任何内核数据结构或者函数那么你可以参考

如何将内核静态库编译连接到驱动程序中去

http://blog.csdn.net/boywhp/archive/2010/12/07/6059688.aspx

 

如果你需要在静态库里面使用一些内核数据结构,如简单的添加一个 #include <linux/kernel.h>,你会发现编译器输出一堆错误!

最常见的是 <asm/linkxxx.h> 找不到之类,那么你可以参考我的静态库makefile

 

RM = rm -f

 

CCFLAGS = -c -O2 -D__KERNEL__

 

ARFLAG  = -rc

 

CC = gcc -fno-common -v

AR = ar

 

lib_OBJECTS  =  xxxx.o

lib_SOURCE  =  xxxx.c

 

KDIR := /lib/modules/$(shell uname -r)/build/include

X86_ASMDIR := /lib/modules/$(shell uname -r)/build/arch/x86/include

CONFIG_FILE := /lib/modules/$(shell uname -r)/build/include/generated/autoc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值