关于<unistd.h>头文件
unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称。该头文件由 POSIX.1 标准(可移植系统接口)提出,故所有遵循该标准的操作系统和编译器均应提供该头文件(如 Unix 的所有官方版本,包括 Mac OS X、Linux 等)。
对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork、pipe 以及各种 I/O 原语(read、write、close 等等)。
类似于 Cygwin 和 MinGW 的 Unix 兼容层也提供相应版本的 unistd.h。
VS下编译,解决uninstd.h的方法:
单独新增一个头文件,添加上如下内容。
#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif
源码:
#ifndef _UNISTD_H #define _UNISTD_H #include <features.h> #ifdef __cplusplus extern "C" {
#endif #include <_ansi.h> #include <sys/types.h> #include <sys/_types.h> #define __need_size_t #define __need_ptrdiff_t #include <stddef.h> extern char **environ; void _EXFUN(_exit, ( int __status ) _ATTRIBUTE (( noreturn ))); int _EXFUN(access,( const char *__path, int __amode )); unsigned _EXFUN(alarm, (unsigned __secs )); int _EXFUN(chdir, ( const char *__path )); int _EXFUN(chmod, ( const char *__path, mode_t __mode )); int _EXFUN(chown, ( const char *__path, uid_t __owner, gid_t __group )); int _EXFUN(chroot, ( const
|