“char * _EXFUN(index,(const char *,int));”的含义

时间:2016-05-31 12:06:33

标签: c

我发现这是日食思想家/知识分子的命题。就是这样:

char *_EXFUN(index,(const char *, int));

首先它看起来像一个函数返回一个char的指针,但参数(如果它是一个函数)看起来很混乱。如何进入参数列表我们有一个括号。

1 个答案:

答案 0 :(得分:13)

_EXFUN似乎是某些平台上标准标头中使用的宏,例如here

#ifndef _EXFUN
# define _EXFUN(N,P) N P
#endif

因此,char *_EXFUN(index,(const char *, int));扩展为

char * index(const char *, int)

这种技巧有时会完成,因此可以预先处理相同的标题,并将_EXFUN设置为其他内容,例如内省功能签名,或在库中声明导出的符号。