首页 > 代码库 > #include <unistd.h> 的作用

#include <unistd.h> 的作用

原文:http://blog.csdn.net/ybsun2010/article/details/24832113

 

由字面意思,unistd.h是unix std的意思,是POSIX标准定义的unix类系统定义符号常量的头文件,

包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数。 

参考自 http://hi.baidu.com/w_dalu/item/e8d29860374ae02369105b11

unistd.h在unix中类似于window中的windows.h!


#ifdef WIN32
#include <windows.h>
#else
#include <unistd.h>
#endif

unistd.h含有的常量与函数:

ssize_t      read(int, void *, size_t); // 读取文件使用
int          unlink(const char *);
ssize_t      write(int, const void *, size_t); // 写文件
int          usleep(useconds_t); // 进程休眠,单位为微妙
unsigned     sleep(unsigned); // 进程休眠,单位为秒

int          access(const char *, int); // 获取文件的权限
unsigned     alarm(unsigned);
int          chdir(const char *);
int          chown(const char *, uid_t, gid_t);
int          close(int); // 关闭文件
size_t       confstr(int, char *, size_t);
void        _exit(int);
pid_t        fork(void);

 

NULL           // Null pointer
SEEK_CUR    // Set file offset to current plus offset.
SEEK_END    // Set file offset to EOF plus offset.
SEEK_SET    // Set file offset to offset.

 

 

许多在Linux下开发的C程序都需要头文件unistd.h,但VC中没有个头文件,
所以用VC编译总是报错。把下面的内容保存为unistd.h,可以解决这个问题。
/** This file is part of the Mingw32 package.
* unistd.h maps (roughly) to io.h
*/

#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif /* _UNISTD_H */

#include <unistd.h> 的作用