【发布时间】:2013-11-24 16:16:36
【问题描述】:
我在设备驱动程序编程中遇到了如下声明:
static int __init sum_init(void)
我见过static int sum_init(void)。为什么上面的声明没有给出编译错误?
【问题讨论】:
-
感谢 Binyamin 的链接
标签: c linux-device-driver
我在设备驱动程序编程中遇到了如下声明:
static int __init sum_init(void)
我见过static int sum_init(void)。为什么上面的声明没有给出编译错误?
【问题讨论】:
标签: c linux-device-driver
因为__init 可能是某种#define,它被分配给不会导致编译错误的任何东西。
#define __init
或者……
#define __init __section(.init.text) __cold notrace
【讨论】:
就像说:
静态 int __init sum_init()
{
return 0;}
它不返回任何值,因此没有发生错误。
【讨论】: