Linux 内核模块杂记

Linux 内核模块加载程序

  1. 模块加载函数
    static int __init test_init(void)
    {
    }
    module_init(test_init);

  2. 模块卸载函数
    static void __exit test_exit(void)
    {
    }
    module_exit(test_exit);

  3. 模块许可声明

  4. 模块参数(可选)
    可以用“modeule_param(参数名, 参数类型, 参数读/写权限)”为模块定义一个参数
    static int test_conunt = 1000;
    module_param(test_count, int, S_IRUGO);

    通过命令传递参数
    insmod test.ko test_count=2000

  5. 模块导出符号(可选)

    include <linux/init.h>

    include <linux/module.h>

    int add_integar(int a, int b)
    {
    return a + b;
    }
    EXPORT_SYMBOL_GPL(add_integar);
    MODULE_LICENSE("GPL v2");

  6. 模块作者等声明信息(可选)
    MODULE_AUTHOR(author);
    MODULE_VERSION(version_string);
    MODULE_DEVICE_TABLE(tanle_info);
    MODULE_ALIAS(alternate_name);

posted @ 2024-06-19 18:04  蜗牛等等  阅读(17)  评论(0)    收藏  举报