UNIX環境高級變成——第二章 UNIX標準及實現

第二章 UNIX標準及實現

2.2.1 ISO C

一、ISO C頭文件函數

頭文件     說明
<assert.h>     驗證程序斷言
<complex.h>     複數運算支持
<ctype.h>     字符分類和映射支持
<errno.h>     錯誤碼
<fenv.h>     浮點環境
<float.h>     浮點支持
<inttypes.h>     整型格式轉換
<iso646.h>     賦值、關係、一元操做符宏
<limits.h>     實現常量
<locale.h>     本地化支持
<math.h>     數學運算庫
<setjmp.h>     非局部goto
<signal.h>     信號支持
<stdarg.h>     可變長度參數
<stdbool.h>     布爾類型支持
<stddef.h>     標準定義
<stdint.h>     標準整形
<stdio.h>     標準輸入輸出
<stdlib.h>     實用函數庫
<string.h>     字符串操做
<tgmath.h>     通用類型數學宏
<time.h>     時間日期支持
<wchar.h>     多字節寬字符支持
<wctype.h>     寬字符分類和映射支持

限制

一、因爲大量標準化工做的努力,已有若干種可移植的方法以肯定這些幻數和具體實現定義的限制。這很是有助於改善UNIX環境下軟件的可移植性。測試

二、如下兩種類型的限制是必須的:
(1)編譯時限制(如,短整型的最大值是什麼?)
(2)運行時限制(如,頭文件有多少個字符)
編譯時限制可在頭文件中定義。程序在編譯時能夠包含這些頭文件
運行時限制要求進程調用一個函數得到限制值。code

三、爲了解決UNIX多文件系統中不一樣文件系統中不一樣文件長度的限制,UNIX提供瞭如下3種限制:
(1)編譯時限制(頭文件)
(2)與文件或目錄無關的運行時限制(sysconf函數)
(3)與文件或目錄有關的運行時限制(pathconf函數和fpathconf函數)進程

四、ISO C定義的全部編譯時限制都列在頭文件<limits.t>中。字符串

函數sysconf、pathconf和fpathconf

一、函數原型原型

#include <unistd.h>

long sysconf(int name);

long pathconf(const char *pathname,int name);

long fpathconf(int fd,int name);

功能測試宏

一、因爲UNIX不一樣版本有不一樣的實現,爲了保證只使用POSIX.1標準,在頭文件中定義了
_POSIX_SOURCE_XOPEN_SOURCE功能測試宏數學

基本數據類型

一、在頭文件<sys/types.h>中定義了某些與實現有關的數據類型,它們用C的typedef來定義,大多數以_t結尾,被成爲集本數據類型。string

相關文章
相關標籤/搜索