据此, POSIX 库不包括getopt.h
. 但是,我在以下位置找到了这个unistd.h
:
#ifdef __USE_POSIX2
/* Get definitions and prototypes for functions to process the
arguments in ARGV (ARGC of them, minus the program name) for
options given in OPTS. */
# define __need_getopt
# include <getopt.h>
#endif
这是否意味着getopt.h
包含时隐含包含unistd.h
?我的意思是,上面的代码是我应该从 unistd 头文件的所有实现中得到的,还是只是我的特定版本中的代码?此外,__USE_POSIX2
宏是在 POSIX.2 及更高版本中定义的,还是仅适用于 POSIX.2?