【发布时间】:2016-02-07 02:51:07
【问题描述】:
来自<linux/module.h>:
#ifdef MODULE
#define MODULE_GENERIC_TABLE(gtype,name) \
extern const struct gtype##_id __mod_##gtype##_table \
__attribute__ ((unused, alias(__stringify(name))))
extern struct module __this_module;
#define THIS_MODULE (&__this_module)
#else /* !MODULE */
#define MODULE_GENERIC_TABLE(gtype,name)
#define THIS_MODULE ((struct module *)0)
#endif
我可以看到“extern struct module __this_module;”只是__this_module 的声明,而不是__this_module 的定义。那么__this_module的内存分配在哪里呢?我在kernel 代码中找不到它。
【问题讨论】:
标签: c linux linux-kernel linux-device-driver