-1
當我新的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'就是這種情況(實際上是一個擴展到其中幾個屬性的宏)。 –