第四十三讲 写一个内核模块

第四十三讲 写一个内核模块

一、基础知识

1、头文件

头文件 说明
linux/module.h 包含内核模块信息声明的相关函数
linux/init.h 包含了 module_init() 和 module_exit() 函数声明
linux/kernel.h 包含内核提供的各种函数

2、打印信息

前面编写程序都是使用 printf 进行打印消息的,但是在内核不能使用 printf 进行打印消息。因为 printf 是 glibc 提供的打印函数,工作与用户空间。内核模块无法使用 glibc 函数。但是内核提供了一个 printk 函数,能让我们输出打印信息。

  • printf

    说明:类似 printf 函数,但是需要指定打印等级

    用法:

    等级 说明
    KERN_EMERG "<0>"通常是系统崩溃前的消息
    KERN_ALERT "<1>"需要立即处理的消息
    KERN_CRIT "<2>"严重情况
    KERN_ERR "<3>"错误情况
    KERN_WARING "<4>"警告
    KERN_NOTICE "<5>"需要注意
    KERN_INFO "<6>"普通消息
    KERN_DEBUG "<7>"调试信息
  • 查看 printk 打印等级

    注意:仅当小于日志等级消息才会被打印

    cat /proc/sys/kernel/printk

    4 4 1 7:这是上面命令的返回,分别代表了

    ​ 4:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值