Macros 函数返回宏?

Macros 函数返回宏?,macros,Macros,我正在研究Linux内核,在那里我遇到了多个具有以下语法的函数。我不明白这个语法的意思。我感兴趣的不是函数的功能,而是语法的含义 static int __init customize_machine(void) { ... return 0; } 这里,init是一个宏。它说返回0,所以它返回一个int,但是_init宏在那里做什么呢 此外,宏位于函数名声明的末尾: static noinline void __init_refok rest_init(void) __rel

我正在研究Linux内核,在那里我遇到了多个具有以下语法的函数。我不明白这个语法的意思。我感兴趣的不是函数的功能,而是语法的含义

static int __init customize_machine(void)
{
    ...
    return 0;
}
这里,init是一个宏。它说
返回0
,所以它返回一个int,但是_init宏在那里做什么呢

此外,宏位于函数名声明的末尾:

static noinline void __init_refok rest_init(void) __releases(kernel_lock)
{
    ...
}

同样的问题:这个宏的用途是什么?

这个函数是linux内核模块的一部分。可以在linux/module.h中找到_init宏。像使用module_init(customize_machine)一样使用它,并成为模块的init函数。返回0表示模块已成功加载