内核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. 7-31 字符串循环左移 (C语言)
  2. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)
  3. RegeX —— 可视化正则表达式替换器
  4. ios 获取沙盒文件名_iOS怎么获取并移除沙盒中Documents文件夹下的所有文件
  5. mysql创建用户,并赋予权限:只能查某个数据库中的某张表(只读)
  6. redhat7基本命令操作
  7. 2010年下半年计算机专业技术资格考试工作安排
  8. 摄影测量--点位精度评定
  9. idea新建xml文件
  10. bcp: 给boost瘦身
  11. office是python打开方式_Python读取word文本操作详解
  12. JEP JAVA 初体验
  13. RS232、RS485、RS422、RJ45接口,终于弄明白了!
  14. 曾国藩修身十三条,值得学习
  15. 《光剑文集》拾叶: 24首
  16. 【牛客网 - 华为机试 - HJ56 完全数计算】
  17. 家里的网络太慢了,怎么办?
  18. 大家小心了,做寄生虫排名骗子
  19. 通过IMSI判断运营商的方法
  20. 叉乘点乘混合运算公式_运算定律和简便计算的说课稿

热门文章

  1. 这可能是对 IOC 和 DI 解释的最清楚的一篇文章了!
  2. 每日一皮:周六了,想跟你说一句...
  3. 面试:给我说一下Spring MVC拦截器的原理?
  4. 一个不错的权限管理模块设计案例
  5. 全网Star最多「近20k」的Spring Boot开源教程 2019 年要继续更新了
  6. mysql菜鸟教程update_PHP MySQL Update
  7. error D8021 :无效的数值参数“/Wno-cpp” cython_bbox
  8. yolov5改进mark
  9. 安装MMCV和MMDET
  10. pytorch计算模型参数量