【发布时间】:2015-10-19 00:13:25
【问题描述】:
我是 C 新手,我知道您使用这种格式定义了一个函数
return_type function_name(args)
{
... body ...
}
然后我从内核中看到了这段代码:https://github.com/torvalds/linux/blob/master/kernel/time/tick-broadcast.c#L995L1005
函数定义如下所示:
void __init tick_broadcast_init(void)
{
... body ...
}
看起来有两个变量,__init 和 tick_broadcast_init。有谁知道怎么回事?
【问题讨论】:
-
在返回类型和函数名之间可能存在编译器特定的属性(例如管理可执行文件部分的指令、调用约定和其他内容)。
__init就是这种情况(实际上是一个扩展为其中几个属性的宏)。
标签: c