驱动模块编译错误提示--implicit declaration of function ‘kmalloc’

本文主要是介绍驱动模块编译错误提示--implicit declaration of function ‘kmalloc’,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从新编译以前的一个驱动测试模块

以前是在FC9,但是FC14出现如下编译错误,

make: Entering directory `/usr/src/kernels/2.6.35.6-45.fc14.i686'
  CC [M]  /home/ty/development/driver/ch6/globalmem.o
/home/ty/development/driver/ch6/globalmem.c: In function ‘globalmem_read’:
/home/ty/development/driver/ch6/globalmem.c:77:7: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’
/home/ty/development/driver/ch6/globalmem.c: In function ‘globalmem_write’:
/home/ty/development/driver/ch6/globalmem.c:100:7: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’
/home/ty/development/driver/ch6/globalmem.c: In function ‘globalmem_init’:
/home/ty/development/driver/ch6/globalmem.c:185:3: error: implicit declaration of function ‘kmalloc’
/home/ty/development/driver/ch6/globalmem.c:185:18: warning: assignment makes pointer from integer without a cast
/home/ty/development/driver/ch6/globalmem.c: In function ‘globalmem_exit’:
/home/ty/development/driver/ch6/globalmem.c:202:3: error: implicit declaration of function ‘kfree’
make[1]: *** [/home/ty/development/driver/ch6/globalmem.o] Error 1
make: *** [_module_/home/ty/development/driver/ch6] Error 2
make: Leaving directory `/usr/src/kernels/2.6.35.6-45.fc14.i686'

 

在网上找了一下,是缺少了一个头文件

#include <linux/slab.h>

加上之后就没问题了

驱动源代码

http://blog.csdn.net/tiany524/archive/2010/09/14/5884535.aspx

这篇关于驱动模块编译错误提示--implicit declaration of function ‘kmalloc’的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879560

相关文章

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Python模块导入的几种方法实现

《Python模块导入的几种方法实现》本文主要介绍了Python模块导入的几种方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录一、什么是模块?二、模块导入的基本方法1. 使用import整个模块2.使用from ... i

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

提示:Decompiled.class file,bytecode version如何解决

《提示:Decompiled.classfile,bytecodeversion如何解决》在处理Decompiled.classfile和bytecodeversion问题时,通过修改Maven配... 目录问题原因总结问题1、提示:Decompiled .class file,China编程 bytecode

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空