我发现这是一个日食设计者/智者的命题,不管怎么称呼它。这就是它:
char *_EXFUN(index,(const char *, int));
首先,它看起来像一个函数,返回了char的指针,但是参数(如果它是函数的话)在我看来是相当混乱的。为什么在参数列表中我们有一个括号。
发布于 2016-05-31 12:24:57
_EXFUN
似乎是一些平台上标准标头中使用的宏,例如这里
#ifndef _EXFUN
# define _EXFUN(N,P) N P
#endif
因此,char *_EXFUN(index,(const char *, int));
扩展为
char * index(const char *, int)
有时会这样做,这样就可以用_EXFUN
设置为其他东西对相同的头进行预处理,例如内省函数签名,或者在库中声明导出的符号。
https://stackoverflow.com/questions/37545326
复制相似问题