天天看點

linux相關知識

檔案類型: 

普通檔案(regular file)----普通資料.

目錄檔案(directory file)----包含其它檔案名和指向這些檔案資訊的指針.

快特殊檔案(black spcial file)----提供對"塊裝置"帶緩沖的通路,資料I/O都是以"塊"進行的.

字元特殊檔案(character special file)----提供對"字元裝置"不帶緩沖的通路,資料I/O時長度是可變的.

FILO(first input first output)----用于程序間通信,也稱管道(named pipe).

套接字(socket)----程序間網絡通信.

符号連結(symbolic link)----本身沒有真正的檔案資料,它指向另外一個檔案.

消息隊列,信号量,共享存儲對象也可以表示為檔案.

标準

UNIX程式設計環境和C程式設計語言标準化.标準化有多種,例如ISO C制定的.

UNIX标準不同,同它相關的或者能夠支援的标準C庫也不完全相同.例如關鍵字,頭檔案(及其相關的功能),系統接口/頭檔案及定義,實用程式等等,有些标準有,有些沒有.

UNIX标準有多種,實作也有多種.

ISO C的頭檔案依賴于OS所配置的C編譯器版本.

ISO C定義的限制都是編譯時限制.檔案<limits.h>定義了C的限制,例如長整型最大值等等.<stdio.h>定義了TMP_MAX,這是臨時檔案名的最長長度.

POSIX也定義了不少限制,這些大多同OS實作有關.例如登入名的最大長度,指向一個檔案的連接配接數等等,這些限制同樣可以在<limits.h>中找到.

其它标準也有類似的限制.通過pathconf/sysconf/fpathconf函數可以得到某種限制.

如果編寫可移植性應用程式,那麼應用程式應該能夠滿足不同平台的要求,在編譯時刻需要支援同平台相關的選項,其實也就是不同标準/平台定義的功能測試宏(feature test macro).

例如,如果在編譯一個程式時,希望它隻是用POSIX的定義而不使用任何實作定義的限制,就需要定義_POSIX_C_SOURCE.所有POSIX頭檔案都定義此宏,就能排除其它的定義.

_POSIX_C_SOURCE,_XOPEN_SOURCE,__STDC__(ISO C的)都是feature test macro.

本文轉自jetyi51CTO部落格,原文連結:http://blog.51cto.com/jetyi/816662 ,如需轉載請自行聯系原作者

繼續閱讀