为什么这个静态功能有三个前缀?

时间:2015-06-11 18:27:28

标签: c function static driver

我正在尝试为我的SD卡构建驱动程序,但是我在这一行上收到错误:

static void __devexit rtsx_remove(struct pci_dev *pci)

话说:

  

/home/kenkron/Downloads/rts_pstor/rtsx.c:916:22:错误:预期'=',',',';','asm'或'__attribute__'在'rtsx_probe'之前静态int __devinit rtsx_probe (struct pci_dev * pci,const struct pci_device_id * pci_id)

为什么__devexit在函数名之前,它应该如何工作?

编辑:我的问题是关于__devexit在函数定义的上下文中是什么。 Eugene Sh或许暗示它是一个宏,但它在函数定义中会做些什么呢?我见过的其他功能最多只有静态和返回类型。

1 个答案:

答案 0 :(得分:2)

__devexitinclude/linux.h中定义。确保包含该标题。如果您已经这样做,请确保您的代码中没有任何语法错误。还要检查前面的行是否有错误,例如。缺少分号。