HAVE_UNISTD_H 宏在哪里定义?

HAVE_UNISTD_H 宏在哪里定义?
#ifdef HAVE_UNISTD_H
#include<unistd.h>
#else
extern int getpid(void)
#endif /* HAVE_UNISTD_H */

我想这个想法是检查头文件是否<unistd.h>可用。如果没有,那么extern int getpid(void)
我知道这是非常基本的。但我没有通过互联网找到好的结果。 HAVE_UNISTD_H 宏是什么意思?

答案1

它的确切含义是:如果可用,HAVE_UNISTD_H则应该定义。unistd.h例如,这是由 Autoconf 设置的;看它的头宏定义

这假设某些外部工具检查是否unistd.h 可用并更新另一个头文件(config.h通常使用 Autoconf)来存储该事实。 C 编译器本身不设置这个。

相关内容