#include <linux/init.h>
#include <linux/module.h>
static int __init hello_init(void)
{
printk(KERN_INFO "Hello, world!\n");
return 0;
}
static void __exit hello_exit(void)
{
printk(KERN_INFO "Goodbye, world!\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple Hello World module");
模块初始化和退出函数:
hello_init 是模块的初始化函数,当模块被加载时调用。它使用 printk 打印一条消息到内核日志。hello_exit 是模块的退出函数,当模块被卸载时调用。宏定义:
__init 和 __exit 宏用于标记初始化和退出函数。它们帮助编译器优化代码,确保这些函数只在需要时存在。模块注册:
module_init(hello_init) 将 hello_init 注册为模块的初始化函数。module_exit(hello_exit) 将 hello_exit 注册为模块的退出函数。模块元数据:
MODULE_LICENSE("GPL") 指定模块的许可证类型。MODULE_AUTHOR("Your Name") 指定模块的作者。MODULE_DESCRIPTION("A simple Hello World module") 描述模块的功能。这个示例展示了如何编写一个简单的 Linux 内核模块,并通过 init 和 exit 函数进行初始化和清理工作。
上一篇:linux系统怎么查看ip地址
下一篇:linux 查看磁盘使用情况
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站