内核2.6.10

//hello.h

#include<linux/init.h>
#include<linux/module.h>
#include<linux/kernel.h>

//hello.c

#include"hello.h"
int hello_init(void)        //2.6.10内核前面没有_init
{
printk("hello.ko is install \n");
return 0;
}

void hello_exit(void) //2.6.10内核前没有_exit
{
printk("hello.ko is uninstalled!\n");
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("ang");

//Makefile

obj-m:=hello.o     #产生hello 模块的目标文件  
CURRENT_PATH := $(shell pwd)           #模块所在的当前路径  
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
all:  
make -C $(KERNELDIR) M=$(CURRENT_PATH) modules   #编译模块  
clean:  
make -C $(KERNELDIR) M=$(CURRENT_PATH) clean

驱动学习模块最简单示例相关推荐

  1. python requests 示例_Python Requests模块的简单示例

    这篇文章主要为大家详细介绍了Python Requests模块的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  2. linux驱动学习——模块传参

    3.模块传参 实验环境:ubunut32 虚拟机 3.1.模块传参的意义 和应用程序一样,可以在执行的时候通过命令行输入运行参数传递参数(main函数的参数),只不过方法不一样而已,这个就是模块传递参 ...

  3. 【Lucene】三个高亮显示模块的简单示例-Highlighter

    Lucene针对高亮显示功能提供了两种实现方式,分别是Highlighter和FastVectorHighlighter 这里的三个示例都是使用Highlighter: 示例代码: package c ...

  4. ROS学习笔记 程序简单示例一:发布者与订阅者(talker和listener)

    1. 创建工作空间 mkdir -p catkin_ws/src cd catkin_ws catkin_make 2. 创建功能包 cd src catkin_create_pkg messager ...

  5. Python学习教程(Python学习路线):Python3之递归函数简单示例

    Python学习教程(Python学习路线):Python3之递归函数简单示例 概述 递归函数即直接或间接调用自身的函数,且递归过程中必须有一个明确的递归结束条件,称为递归出口.递归极其强大一点就是能 ...

  6. boost::proto模块实现构建算术表达式的简单示例 带有占位符的评估器的测试程序

    boost::proto模块实现构建算术表达式的简单示例带有占位符的评估器的测试程序 实现功能 C++实现代码 实现功能 boost::proto模块实现构建算术表达式的简单示例带有占位符的评估器的测 ...

  7. boost::math模块演示负二项分布使用的简单示例的测试程序

    boost::math模块演示负二项分布使用的简单示例的测试程序 实现功能 C++实现代码 实现功能 boost::math模块演示负二项分布使用的简单示例的测试程序 C++实现代码 #include ...

  8. boost::math模块计算二项式随机变量的概率和分位数的简单示例

    boost::math模块计算二项式随机变量的概率和分位数的简单示例 实现功能 C++实现代码 实现功能 boost::math模块计算二项式随机变量的概率和分位数的简单示例 C++实现代码 #inc ...

  9. boost::icl模块interval_map 的最简单示例是重叠计数器

    boost::icl模块interval_map 的最简单示例是重叠计数器 实现功能 C++实现代码 实现功能 boost::icl模块interval_map 的最简单示例是重叠计数器 C++实现代 ...

最新文章

  1. 以太坊源码分析之随心笔记
  2. SQL Server 系统存储过程
  3. 特征工程(part2)--数值型数据
  4. Linux mount挂载和umont卸载U盘
  5. 对象创建的过程 java_Java 对象创建过程
  6. 什么是CMMI认证?
  7. matlab把结构按条件排序,matlab结构体数组排序
  8. 渗透测试工程师从业经验
  9. 公网平台保障铁路通信方案设计
  10. Transform.up与Vector3.up
  11. 联想拯救者新款 R9000X价格是多少 配置强不强
  12. show full processlist,MySQL 优化第7天学习
  13. ThinkSNS团队衍生产品你知道几个?
  14. C++实现简单的工资管理系统
  15. error: variable has incomplete type ‘QApplication‘ 错误解决
  16. 图片在线转二维码如何操作?图片二维码生成器如何使用?
  17. 【网络工程师必备】华为设备网络基础配置命令总结,看过的都收藏了
  18. windows 富士通打印机无效
  19. css和ctl,亲身体验诉说ctl4100和ctl672有啥区别?哪个好?内情必看测评
  20. CrossOver Mac2022虚拟机如何安装win10系统和linux系统

热门文章

  1. 彻底理解 Redis 的持久化和主从复制
  2. TiDB 数据库的 4 大应用场景分析
  3. 赠书:Java面试一战到底!
  4. gogs mysql 报错_linux上Docker安装gogs私服亲测(详解)
  5. linix终端输入mysql,Linux服务器如何进入 MySQL 命令行
  6. react前端封装接口弹出错误_在react项目中用es6封装ajax请求,组件中调用总是报错,求解?...
  7. ValueError: Program neato not found in path.
  8. nanodet学习笔记 tensorrt
  9. 轻量级目标检测大合集
  10. 谷歌最新提出无需卷积、注意力 ,纯MLP构成的视觉架构