#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple Linux module to demonstrate loading and unloading.");
static int __init my_module_init(void) {
printk(KERN_INFO "Hello, world! - from my_module_init\n");
return 0; // Return 0 on success
}
static void __exit my_module_exit(void) {
printk(KERN_INFO "Goodbye, world! - from my_module_exit\n");
}
module_init(my_module_init);
module_exit(my_module_exit);
模块声明:
MODULE_LICENSE("GPL");:声明模块的许可证为GPL,确保模块可以与Linux内核兼容。MODULE_AUTHOR("Your Name");:作者信息。MODULE_DESCRIPTION("A simple Linux module to demonstrate loading and unloading.");:模块描述。初始化函数:
static int __init my_module_init(void):这是模块加载时调用的初始化函数。使用__init宏标记该函数仅在模块加载时执行一次。printk(KERN_INFO "Hello, world! - from my_module_init\n");:向内核日志输出一条消息。return 0;:返回0表示成功加载模块。退出函数:
static void __exit my_module_exit(void):这是模块卸载时调用的退出函数。使用__exit宏标记该函数仅在模块卸载时执行一次。printk(KERN_INFO "Goodbye, world! - from my_module_exit\n");:向内核日志输出一条消息。模块入口和出口:
module_init(my_module_init);:指定模块加载时调用的初始化函数。module_exit(my_module_exit);:指定模块卸载时调用的退出函数。通过这段代码,你可以创建一个简单的Linux内核模块,它会在加载和卸载时分别打印出“Hello, world!”和“Goodbye, world!”到内核日志中。
上一篇:linux加权限
下一篇:linux socat
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站