閱讀體會 UNIX環境高階程式設計

2021-09-20 07:10:25 字數 1883 閱讀 8909

第一章第二章

2.3 unix系統實現

2.4 標準和實現地關係

2.5 限制

2.6 選項

2.7 功能測試巨集

2.8 基本系統資料型別

2.9 標準之間的衝突

2.10 小結

ps:之前一直苦惱於書讀過之後會忘記,某天,靈機一閃,在閱讀時把體會記錄下來不就好了,還能加深印象!於是最近就開始了把將要讀的書、已經讀過的書,在閱讀過程中記錄體會的工作。也就是我的部落格分類裡新新增了「我閱讀的書」這一分類。

1、非常全面的介紹了unix基礎知識,你想要知道的所有基礎知識都可以在這一章中學習的。

2、出錯處理也是我的乙個盲點在這本書中,我對其有了乙個清晰的認識。

3、之前我對使用者標識,使用者id、組id、附屬組id之間的關係理解的不好,這本書就講的很好。

4、訊號,這一節也讓我收穫許多。

5、系統呼叫和庫函式,之前我一直不清楚他們之間的區別,但是在這本書中講的非常的清楚明白。

c語言的標準化經歷了哪些階段?,在這本書中也講得很清楚。

2.2.1 iso c、ieee posix、signle unix specification

以前在學習c語言的時候,一直不清楚庫檔案都有哪些?每個庫檔案的作用是什麼?在這裡我學會了。

2.2.2、c語言的標準化提高了c程式的可移植性。

iso c、posix、xsi、sus

xsi選項描述了可選的介面,也定義了遵循xsi(xsi conformiing)的實現必須支援posix.1的哪些可選部分。這些必須支援的部分包括:檔案同步、執行緒棧位址和長度屬性、執行緒程序共享同步以及_xopen_unix符號常量。只有遵循xsi的實現才能稱為unix系統

2.3.1、統一的標準,不同的實現。

標準只是介面的規範,標準由廠商採用,然後轉變為具體實現

限制這一節是我的盲點,在這裡被點亮了。

編譯時限制在標頭檔案中定義(例如);

執行時限制則要求程序呼叫乙個函式獲得限制。sysconf、pathconf、fpathconf

限制確保實現是符合標準的

這些限制在posix .1、xsi選項組中定義。如果我們編寫可移植的應用程式,而這些程式可能會依賴於這些可選支援的功能,那麼就需要一種可移植的方法來判斷實現是否支援乙個給定的選項。

posix .1定義了3種處理選項的方法:

(1)編譯時選項定義在中

(2)與檔案或目錄無關的執行時選項用sysconf來判斷

(3)與檔案或目錄有關的執行時選項通過呼叫pathconf或fpathconf函式來判斷

常量_posix_c_source及_xopen_source被稱為功能測試巨集(feature test macro)。

sus將c99實用程式定義為c編譯環境的介面。

某些unix系統變數已與某些c資料型別聯絡在一起。

標頭檔案中定義了某些與實現有關的資料型別,它們被稱為基本資料型別(primitive system data type)。還有很多這種型別定義在其他標頭檔案中。

在標頭檔案中這些資料型別都是用c的typedef來定義。它們絕大多數都以_t結尾。

用這種方式定義了這些資料型別後,就不再需要考慮因系統不同而變化的程式實現細節。

sus基本說明和posix.1是同乙個東西,所以主要關注iso c標準和posix.1之間的差別。它們之間的衝突並非有意,但如果出現衝突,posix.1服從iso c標準。

另一種可能產生衝突的地方是:在iso c標準說明函式時,可能沒有像psosix.1那樣嚴。

endtime:2019-05-01-20點25分

Unix環境高階程式設計 閱讀體會整理

二 steedhorse 我覺得當你自己還不知道怎麼看的時候,也只能一步一步看了。zlcqupt 哈哈,有人指點畢竟要快一點,現在這個社會,要快啊 steedhorse 呵呵,還是慢慢啃吧。對於初學者來說,常常看三本薄書不如啃一本厚書,入了門了就可以多讀些高階的薄書了。當然,隨著不斷地讀進去,自己也...

UNIX環境高階程式設計閱讀筆記(一)

參考 系統實用程式 shell 是命令直譯器,相當於翻譯,將指令轉換為核心能聽懂的語言。檢視 shell 版本 1.檔案系統 表示根目錄 目錄是 包含檔案屬性的資訊 檔名的檔案 檔案屬性 檔案型別 普通檔案 目錄 大小 所有者 許可權 最後的修改日期等等。2.檔名 檔名 不能出現 空格 和 新建目錄...

unix環境高階程式設計

unix 日曆時間 自1970 年1 月1 日00 00 00 以來的國際標準時間 utc 程序時間 cpu 時間 時鐘時間 程序執行時間的總量。使用者cpu 時間 執行使用者指令時間量。系統cpu 時間 執行核心所經歷時間。命令 time 第三章至第七章 原子操作 任何乙個要求多於1 個函式呼叫的...