我正在调查Linux内核,我遇到了多个具有以下语法的函数。我对这种语法的含义感到困惑。我对函数的功能不感兴趣,但语法意味着什么。
static int __init customize_machine(void)
{
...
return 0;
}
这里,__ init是一个宏。它说return 0
,所以它返回一个int,但__init宏在那里做什么?
此外,宏可以在函数名声明的末尾找到:
static noinline void __init_refok rest_init(void) __releases(kernel_lock)
{
...
}
同样的问题:这个宏的目的是什么?
答案 0 :(得分:1)
此函数是linux内核模块的一部分。 __init宏可以在linux / module.h中找到。像module_init(customize_machine)一样使用它,并成为模块的init函数。返回0表示模块已成功加载。