閱讀727 返回首頁    go 阿裏雲 go 技術社區[雲棲]


POSIX標準和XSI擴展

POSIX 表示可移植操作係統接口(Portable Operating System Interface )。

電氣和電子工程師協會(Institute of Electrical and Electronics Engineers,IEEE)

最初開發 POSIX 標準,是為了提高 UNIX 環境下應用程序的可移植性。然而,

POSIX 並不局限於 UNIX。許多其它的操作係統,例如 DEC OpenVMS 和 

Microsoft Windows NT,都支持 POSIX 標準,尤其是 IEEE Std. 1003.1-1990

(1995 年修訂)或 POSIX.1,POSIX.1 提供了源代碼級別的 C 語言應用編程接

口(API)給操作係統的服務程序,例如讀寫文件。POSIX.1 已經被國際標準化

組織(International Standards Organization,ISO)所接受,被命名為 

ISO/IEC 9945-1:1990 標準。


POSIX標準定義的必須的頭文件(26項)
<dirent.h>      ----------------------   目錄項
<fcntl.h>         ----------------------   文件控製
<fnmatch.h>   ----------------------   文件名匹配類型
<glob.h>         ----------------------   路徑名模式匹配類型
<grp.h>          ----------------------   組文件
<netdb.h>      ----------------------   網絡數據庫操作
<pwd.h>         ----------------------   口令文件
<regex.h>      ----------------------   正則表達式
<tar.h>           ----------------------   tar歸檔值
<termios.h>    ----------------------   終端I/O
<unistd.h>      ----------------------   符號常量
<utime.h>       ----------------------   文件時間
<wordexp.h>   ----------------------   字擴展類型
<arpa/inet.h>  ----------------------   Internet定義
<net/if..h>       ----------------------   套接字本地接口
<netinet/in.h> ----------------------   Internet地址族
<netinet/tcp.h>----------------------   傳輸控製協議定義
<sys/mman.h>----------------------   內存管理聲明
<sys/select.h>----------------------   select函數
<sys/socket.h>----------------------   套接字接口
<sys/stat.h>    ----------------------   文件狀態
<sys/times.h>  ----------------------   進程時間
<sys/types.h>  ----------------------   基本係統數據類型
<sys/un.h>      ----------------------   UNIX域套接字定義
<sys/utsname.h>----------------------係統名
<sys/wait.h>    ----------------------   進程控製
 
POSIX標準定義的XSI擴展頭文件(26項)
<cpio.h>          ----------------------   cpio歸檔值
<dlfcn.h>         ----------------------   動態鏈接
<fmtmsg.h>     ----------------------   消息顯示結構
<ftw.h>            ----------------------   文件樹漫遊
<iconv.h>        ----------------------   代碼集轉換實用程序
<langinfo.h>    ----------------------   語言信息常量
<libgen.h>       ----------------------   模式匹配函數定義
<monetary.h>  ----------------------   貨幣類型
<ndbm.h>        ----------------------   數據庫操作
<nl_types.h>   ----------------------   消息類別
<poll.h>           ----------------------   輪詢函數
<search.h>      ----------------------   搜索表
<strings.h>      ----------------------   字符串操作
<syslog.h>      ----------------------   係統出錯日誌記錄
<ucontext.h>   ----------------------   用戶上下文
<ulimit.h>        ----------------------   用戶限製
<utmpx.h>       ----------------------   用戶帳戶數據庫
<sys/ipc.h>      ----------------------   IPC
<sys/msg.h>    ----------------------   消息隊列
<sys/resource.h>-------------------   資源操作
<sys/sem.h>    ----------------------   信號量
<sys/shm.h>    ----------------------   共享存儲
<sys/statvfs.h>----------------------   文件係統信息
<sys/time.h>    ----------------------   時間類型
<sys/timeb.h>  ----------------------   附加的日期和時間定義
<sys/uio.h>      ----------------------   矢量I/O操作
 
POSIX標準定義的可選頭文件(8項)
<aio.h>            ----------------------   異步I/O
<mqueue.h>    ----------------------   消息隊列
<pthread.h>    ----------------------   線程
<sched.h>       ----------------------   執行調度
<semaphore.h>---------------------   信號量
<spawn.h>       ----------------------   實時spawn接口
<stropts.h>      ----------------------   XSI STREAMS接口

<trace.h>         ----------------------   時間跟蹤  



 

   Single UNIX Specification是POSIX.1標準的超集,定義了一些附加的接口,

這些接口擴展了基本的POSIX.1規範的功能。相應的係統接口全集被稱為

X/Open係統接口(XSI,X/Open System Interface) ,XSI還定義了實現必

須支持的POSIX.1的哪些可選部分才能認為是遵循XSI的。它們包括文件同步,

存儲映射文件,存儲保護及線程接口。隻有遵循XSI的實現才能稱為UNIX操

作係統。


linux常用頭文件如下:

POSIX標準定義的頭文件

<dirent.h>        目錄項

<fcntl.h>         文件控製

<fnmatch.h>    文件名匹配類型

<glob.h>    路徑名模式匹配類型

<grp.h>        組文件

<netdb.h>    網絡數據庫操作

<pwd.h>        口令文件

<regex.h>    正則表達式

<tar.h>        TAR歸檔值

<termios.h>    終端I/O

<unistd.h>    符號常量

<utime.h>    文件時間

<wordexp.h>    字符擴展類型

-------------------------

<arpa/inet.h>    INTERNET定義

<net/if.h>    套接字本地接口

<netinet/in.h>    INTERNET地址族

<netinet/tcp.h>    傳輸控製協議定義

-------------------------

<sys/mman.h>    內存管理聲明

<sys/select.h>    Select函數

<sys/socket.h>    套接字借口

<sys/stat.h>    文件狀態

<sys/times.h>    進程時間

<sys/types.h>    基本係統數據類型

<sys/un.h>    UNIX域套接字定義

<sys/utsname.h>    係統名

<sys/wait.h>    進程控製

------------------------------

POSIX定義的XSI擴展頭文件

<cpio.h>    cpio歸檔值

<dlfcn.h>    動態鏈接

<fmtmsg.h>    消息顯示結構

<ftw.h>        文件樹漫遊

<iconv.h>    代碼集轉換使用程序

<langinfo.h>    語言信息常量

<libgen.h>    模式匹配函數定義

<monetary.h>    貨幣類型

<ndbm.h>    數據庫操作

<nl_types.h>    消息類別

<poll.h>    輪詢函數

<search.h>    搜索表

<strings.h>    字符串操作

<syslog.h>    係統出錯日誌記錄

<ucontext.h>    用戶上下文

<ulimit.h>    用戶限製

<utmpx.h>    用戶帳戶數據庫

-----------------------------

<sys/ipc.h>    IPC(命名管道)

<sys/msg.h>    消息隊列

<sys/resource.h>資源操作

<sys/sem.h>    信號量

<sys/shm.h>    共享存儲

<sys/statvfs.h>    文件係統信息

<sys/time.h>    時間類型

<sys/timeb.h>    附加的日期和時間定義

<sys/uio.h>    矢量I/O操作

------------------------------

POSIX定義的可選頭文件

<aio.h>        異步I/O

<mqueue.h>    消息隊列

<pthread.h>    線程

<sched.h>    執行調度

<semaphore.h>    信號量

<spawn.h>     實時spawn接口

<stropts.h>    XSI STREAMS接口

<trace.h>     事件跟蹤

最後更新:2017-04-04 07:03:53

  上一篇:go 關於遠程桌麵登陸提示“連接被拒絕,因為沒有授權此用戶賬號進行遠程登錄”
  下一篇:go 組建核心團隊時的困惑