Linux 一些標頭檔案的說明
#include <unistd.h> 的作用
由字面意思,unistd.h是unix std的意思,是POSIX標準定義的unix類系統定義符號常量的標頭檔案,
包含了許多UNIX系統服務的函式原型,例如read函式、write函式和getpid函式。
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);
#include <sys/types.h>的作用
include <sys/types.h>
基本系統資料型別
是Unix/Linux系統的基本系統資料型別的標頭檔案,含有size_t,time_t,pid_t等型別。
NAME sys/types.h - data types
SYNOPSIS #include <sys/types.h>
DESCRIPTION The <sys/types.h> header shall include definitions for at least the following types:
blkcnt_t Used for file block counts.
blksize_t Used for block sizes.
clock_t Used for system times in clock ticks or CLOCKS_PER_SEC; see <time.h> .
clockid_t Used for clock ID type in the clock and timer functions.
dev_t Used for device IDs.
fsblkcnt_t Used for file system block counts.
fsfilcnt_t Used for file system file counts.
gid_t Used for group IDs.
id_t Used as a general identifier; can be used to contain at least a pid_t, uid_t, or gid_t.
ino_t Used for file serial numbers.
key_t Used for XSI interprocess communication.
mode_t Used for some file attributes.
nlink_t Used for link counts.
off_t Used for file sizes.
pid_t Used for process IDs and process group IDs.
size_t Used for sizes of objects.
ssize_t Used for a count of bytes or an error indication.
suseconds_t Used for time in microseconds.