本文內(nèi)容摘自《Unix高級環(huán)境編程》第二版,如有錯誤,請指明,謝謝!
成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗的網(wǎng)站設(shè)計師、開發(fā)人員和項目經(jīng)理組成的專業(yè)建站團隊,負(fù)責(zé)網(wǎng)站視覺設(shè)計、用戶體驗優(yōu)化、交互設(shè)計和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、做網(wǎng)站、網(wǎng)站建設(shè)易于使用并且具有良好的響應(yīng)性。
同時本文參考FreeBSD的sys/types.h文件對基本系統(tǒng)數(shù)據(jù)類型作進一步了解。
Unix系統(tǒng)的sys/types.h文件定義了某些與實現(xiàn)相關(guān)的數(shù)據(jù)類型,稱為基本系統(tǒng)數(shù)據(jù)類型(primitive system data type)。這些數(shù)據(jù)類型都是用C的typedef來定義,并且都是大多數(shù)都是以_t結(jié)尾的。下面將列出部分基本系統(tǒng)數(shù)據(jù)類型。
數(shù)據(jù)類型 說明 FreeBSD中定義說明
caddr_t 核心地址 定義為 char * 類型
clock_t 時鐘滴答計數(shù)器 定義為 __clock_t,每秒鐘的時間滴答數(shù)為 CLOCKS_PER_SEC(FreeBSD中,此定義在time.h)
comp_t 壓縮的時鐘滴答數(shù) 定義在 sys/acct.h中,為 uint16_t
dev_t 設(shè)備號(主和次) 定義為 __dev_t,設(shè)備號或 struct cdev
fd_set 文件描述符集 定義在 sys/select.h 中,為 struct fd_set,可參考 select 系統(tǒng)調(diào)用。
fpos_t 文件位置 定義在 stdio.h 中,為 __off_t 類型
gid_t 用戶組ID 定義為 __gid_t 類型
ino_t i節(jié)點編號 定義為 __ino_t 類型
mode_t 文件類型,文件創(chuàng)建模式 定義為 __mode_t 類型
nlink_t 目錄項的連接計數(shù)器 定義為 __nlink_t 類型
off_t 文件大小和偏移量,帶符號 定義為 __off_t 類型,還定義 uoff_t(__uint64_t),表示無符號
pid_t 進程IP和進程組ID 定義為 __pid_t 類型
ptrdirr_t 兩指針相減的結(jié)果 定義在 sys/stddef.h 中,定義為 __ptrdiff_t 類型
rlim_t 資源限制 定義為 __rlim_t 類型
sig_atomic_t 能原子訪問的數(shù)據(jù)類型 與CPU架構(gòu)相關(guān),對i386,定義在 i386/include/signal.h 中
sigset_t 信號集 定義在 sys/select.h 和 sys/signal.h 中,均為 __sigset_t
size_t 對象字節(jié)數(shù)大小,不帶符號 定義為 __size_t 類型
ssize_t 函數(shù)返回字節(jié)數(shù)大小,帶符號 定義為 __ssize_t 類型
time_t 日歷時間的計時器 定義為 __time_t 類型,與CPU架構(gòu)相關(guān)
uid_t 數(shù)值用戶ID 定義為 __uid_t 類型
wchar_t 能表示所有不同的字符碼 在 stddef.h stdlib.h wchar.h 中均有定義,定義為 __wchar_t,而__wchar_t 定義在 sys/_types.h 中,定義為 __ct_rune_t,而 __ct_rune_t 定義為 int
在FreeBSD中,以上基本系統(tǒng)數(shù)據(jù)類型中,__XXX_t 基本上與CPU架構(gòu)有關(guān),如 i386,則定義在 i386/include/_types.h 中,但并非所有的 __XXX_t 類型都是這樣,如 __wchar_t 就不是。