函数返回宏?

时间:2014-05-07 11:52:28

标签: macros

我正在调查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)
{
    ...
}

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

1 个答案:

答案 0 :(得分:1)

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