歷史上,某些UNIX變量已與某些C數據類型聯系在一起,例如,歷史上主、次設備號存放在一個16位的短整型中, 8位表示主設備號,另外 8位表示次設備號。但是,很多較大的系統需要用多於 256個值來表示其設備號,於是,就需要有一種不同的技術。
(確實, SVR4用32位表示設備號:14位用於主設備號,18位用於次設備號。)
頭文件<sys/types.h>中定義了某些與實現有關的數據類型,它們被稱之為基本系統數據類型(primitive system data type)。有很多這種數據類型定義在其他頭文件中。在頭文件中這些數據類型都是用C的typedef設施來定義的。它們絕大多數都以 _t 結尾。表2-8中列出了本書將使用的基本系統數據類型。
caddr_t 內存地址
clock_t 時鐘滴答計數器(進程時間)wchar_t 能表示所有不同的字符碼
用這種方式定義了這些數據類型後,在編譯時就不再需要考慮隨系統不同而變的實施細節,在本書中涉及到這些數據類型的地方,我們會說明為什麼使用它們。
自《Unix高級環境編程》