#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 宏是什么意思?
#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 宏是什么意思?
这恰恰意味着:如果可用
HAVE_UNISTD_H
则应该被定义。unistd.h
例如,这是由 Autoconf 设置的;查看其标头宏定义。这假设某些外部工具检查是否
unistd.h
可用并更新另一个头文件(config.h
通常使用 Autoconf)来存储该事实。C 编译器本身不设置它。