[inittest]在内核中的优势是什么?

时间:2014-09-30 10:34:08

标签: c linux-kernel

 /* Each module must use one module_init(). */
#define module_init(initfn)                 \
    static inline initcall_t __inittest(void)       \
    { return initfn; }                  \
    int init_module(void) __attribute__((alias(#initfn)));

1 个答案:

答案 0 :(得分:4)

在编译期间检查生成的__inittest()函数的唯一目的是传递给module_init()宏的函数与initcall_t类型兼容。

所有模块初始化函数必须符合类型,因为(从init_module()定义可以看出)它们不是直接调用的,而是通过特殊别名init_module()调用的。