预期编译错误

时间:2013-11-24 16:16:36

标签: c linux-device-driver

我在设备驱动程序编程中遇到了以下声明:

static int __init sum_init(void)

我见过static int sum_init(void)。为什么上面的声明没有给出编译错误?

2 个答案:

答案 0 :(得分:2)

因为可能__init是某种#define,它被分配给任何不会导致编译错误的内容。

#define __init

或者...

#define __init __section(.init.text) __cold notrace

答案 1 :(得分:-1)

就像说:

  

static int __init sum_init()

     

{

     
    return 0;
         

}

  

它不返回任何值,因此没有发生错误。