Linux??????????THIS_MODULE ?????
???????????? ???????[ 2014/3/4 9:49:29 ] ???????????????? Linux ??????
???????????????????飬??????ù???insmod???ù???????????????????init_module??????????ú????У????????load_module????????????????????????????????????????飬???????struct module???塣????б?????????????????????顣
????state????鵱?????????????????????????????????MODULE_STATE_LIVE??MODULE_STATE_COMING??MODULE_STATE_GOING?????????鵱?????????У????????????鵱?????????????鵱??????ж???load_module????????????????????????????????MODULE_STATE_COMING??sys_init_module???????????????????????????????????????????????б????????鱾???????????)????????????MODULE_STATE_LIVE???????rmmod????ж???????????????????delete_module??????????????MODULE_STATE_GOING????????????????????????
????list?????????б?????????е??????鶼??????????????????У?????????????????struct module *modules???κ?????′???????飬????????????????????????modules->next???????????
????name???????????????????????????????????????????????????????????
?????????????????o?THIS_MODULE???????????????#define THIS_MODULE (&__this_module)??__this_module?????struct module??????????????飬??current?м???????????????THIS_MODULE????????????struct module???????????????飺
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
unsigned int cpu = get_cpu();
struct module *mod;
printk(KERN_ALERT "this module: %p==%p
"?? &__this_module?? THIS_MODULE );
printk(KERN_ALERT "module state: %d
"?? THIS_MODULE->state );
printk(KERN_ALERT "module name: %s
"?? THIS_MODULE->name );
list_for_each_entry(mod?? *(&THIS_MODULE->list.prev)?? list )
printk(KERN_ALERT "module name: %s
"?? mod->name );
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "module state: %d
"?? THIS_MODULE->state );
}
module_init(hello_init);
module_exit(hello_exit);
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11