第十章讀書筆記

2022-09-11 10:39:10 字數 725 閱讀 6200

本章主要講嵌入式linux的除錯技術。對於複雜的linux驅動及hal等程式庫,需要使用各種方法對其進行除錯。

printk,這個函式的用法與printf函式類似,只不過printk函式執行在核心空間,printf函式執行在使用者空間。執行完相關的命令後,會要求選擇在ubuntu linux上,還是在android裝置上執行。

雖然使用printk 函式可以很方便地將訊息寫入日誌檔案或控制台。但大量使用printk 函式頻繁操作日誌檔案或控制台裝置檔案udev/console)會嚴重影響linux 驅動的效能(因為寫磁碟的速度遠沒有讀寫記憶體的速度快〉,因此,這就要求linux 驅動只在開發階段使用printk 函式輸出訊息,在正式友布linux 驅動時將可能影響效能的printk 函式去掉. 當然,最容易想到的方法就是挨個刪除printk 函式,或注釋printk 函式。但這樣做很麻煩,而且以後想加上printk 函式也是同樣麻煩。要想控制printk 函式的輸出,而且實現起來很方便, 最好的方法無疑是利用c 語言中的編譯指令(#if 、#else 、#endif 等)。

在linux檔案系統中,/proc經常被用來作為核心空間與使用者空間進行資料互動的工具。/proc檔案系統的行為方式與裝置檔案系統(/dev)類似。/proc是虛擬檔案系統,也就是說,/proc並不是真正的檔案系統,而是記憶體對映。所有讀寫/proc操作都是對記憶體的讀寫。所以讀寫/proc檔案系統的速度遠比讀寫/dev檔案系統的速度快。因此,/proc檔案系統也可以作為linux驅動與使用者空間程式互動的工具。

《APUE》讀書筆記 第十章訊號(上)

訊號時軟中斷,很多比較重要的應用程式都需要處理訊號,訊號提供了一種處理非同步事件的方法。每個訊號都乙個名字,以sig開頭,在標頭檔案中定義訊號型別,都是正整數 訊號編號 產生訊號的條件 1 當使用者按某些終端鍵時,引發終端產生的訊號。2 硬體異常產生訊號。3 程序呼叫kill函式將訊號傳送給另外乙個...

第十章 函式

使用def關鍵字 定義個數可變的位置形參 定義個數可變的關鍵字形參 定義預設值引數 定義個數可變的位置形參 deffun1 args 結果為乙個元組 print args fun1 10,20,30 10,20,30 定義個數可變的關鍵字形參 deffun2 args 結果為乙個字典 print a...

第十章 屬性

z屬性 本章也比較簡單稍作介紹 無參屬性就是我們常見的屬性 可以封裝屬性 以執行緒安全方式訪問 有參屬性就是c 中的所引器 匿名型別 如圖遇到如下 具體點就是 上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下 編譯器接收到 上圖 先用var 定義乙個型別,但是不具體指...