#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永久关闭防火墙命令
下一篇:linux写入文件命令
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站