Anddroid核心Linux的標頭檔案詳解

2021-08-29 17:56:10 字數 4925 閱讀 1120

標頭檔案主目錄include

頭檔案目錄中總共有32個.h標頭檔案。其中主目錄下有13個,asm子目錄中有4個,linux子目錄中有10個,sys子目錄中有5個。這些標頭檔案各自的功能如下,具體的作用和所包含的資訊請參見第14章。

:a.out標頭檔案,定義了a.out執行檔案格式和一些巨集。 

:常數符號標頭檔案,目前僅定義了i節點中i_mode欄位的各標誌位。 

:字元型別標頭檔案,定義了一些有關字元型別判斷和轉換的巨集。 

:錯誤號標頭檔案,包含系統中各種出錯號。(linus從minix中引進的)。 

:檔案控制標頭檔案,用於檔案及其描述符的操作控制常數符號的定義。 

:訊號標頭檔案,定義訊號符號常量,訊號結構以及訊號操作函式原型。 

:標準引數標頭檔案,以巨集的形式定義變數引數列表。主要說明了乙個型別(va_list)和3個巨集(va_start, va_arg和va_end),用於vsprintf、vprintf、vfprintf函式。 

:標準定義標頭檔案,定義了null, offsetof(type, member)。 

:字串標頭檔案,主要定義了一些有關字串操作的嵌入函式。 

:終端輸入輸出函式標頭檔案,主要定義控制非同步通訊口的終端介面。 

:時間型別標頭檔案,主要定義了tm結構和一些有關時間的函式原形。 

:linux標準標頭檔案,定義了各種符號常數和型別,並宣告了各種函式。如,定義了__library__,則還包括系統呼叫號和內嵌彙編_syscall0()等。 

:使用者時間標頭檔案,定義了訪問和修改時間結構以及utime()原型。

(1)體系結構相關標頭檔案子目錄include/asm

這些標頭檔案主要定義了一些與cpu體系結構密切相關的資料結構、巨集函式和變數。共4個檔案。

:i/o標頭檔案,以巨集的嵌入匯程式設計序形式定義對i/o埠操作的函式。 

:記憶體拷貝標頭檔案,含有memcpy()嵌入式彙編巨集函式。 

:段操作標頭檔案,定義了有關段暫存器操作的嵌入式彙編函式。 

:系統標頭檔案,定義了設定或修改描述符/中斷門等的嵌入式彙編巨集。

(2)linux核心專用標頭檔案子目錄include/linux

:核心配置標頭檔案,定義鍵盤語言和硬碟型別(hd_type)可選項。 

:軟碟機標頭檔案,含有軟盤控制器引數的一些定義。 

:檔案系統標頭檔案,定義檔案表結構(file,buffer_head,m_inode等)。

:硬碟引數標頭檔案,定義訪問硬碟暫存器埠、狀態碼和分割槽表等資訊。 

:head標頭檔案,定義了段描述符的簡單結構,和幾個選擇符常量。 

:核心標頭檔案,含有一些核心常用函式的原形定義。 

:記憶體管理標頭檔案,含有頁面大小定義和一些頁面釋放函式原型。 

: 排程程式標頭檔案,定義了任務結構task_struct、初始任務0的資料, 

以及一些有關描述符引數設定和獲取的嵌入式彙編函式巨集語句。 

:系統呼叫標頭檔案,含有72個系統呼叫c函式處理程式,以"sys_"開頭。 

:tty標頭檔案,定義了有關tty_io,序列通訊方面的引數、常數。

(3)系統專用資料結構子目錄include/sys

: 檔案狀態標頭檔案,含有檔案或檔案系統狀態結構stat{}和常量。 

:定義了程序中執行時間結構tms以及times()函式原型。 

:型別標頭檔案,定義了基本的系統資料型別。 

:系統名稱結構標頭檔案。 

:等待呼叫標頭檔案,定義系統呼叫wait()和waitpid()及相關常數符號。

linux常用標頭檔案如下:

posix標準定義的標頭檔案

目錄項檔案控制

檔名匹配型別

路徑名模式匹配型別

組檔案網路資料庫操作

口令檔案

正規表示式

tar歸檔值

終端i/o

符號常量

檔案時間

字元擴充套件型別

internet定義

套接字本地介面

internet位址族

傳輸控制協議定義

記憶體管理宣告

select函式

套接字藉口

檔案狀態

程序時間

基本系統資料型別

unix域套接字定義

系統名程序控制

posix定義的xsi擴充套件標頭檔案

cpio歸檔值

動態鏈結

訊息顯示結構

檔案樹漫遊

**集轉換使用程式

語言資訊常量

模式匹配函式定義

貨幣型別

資料庫操作

訊息類別

輪詢函式

搜尋表字串操作

系統出錯日誌記錄

使用者上下文

使用者限制

使用者帳戶資料庫

ipc(命名管道)

訊息佇列

資源操作

訊號量共享儲存

檔案系統資訊

時間型別

附加的日期和時間定義

向量i/o操作

posix定義的可選標頭檔案

非同步i/o

訊息佇列

執行緒執行排程

訊號量實時spawn介面

xsi streams介面

事件跟蹤

3、 c/c++標頭檔案一覽

c#i nclude //設定插入點

#i nclude //字元處理

#i nclude //定義錯誤碼

#i nclude //浮點數處理

#i nclude //對應各種運算子的巨集

#i nclude //定義各種資料型別最值的常量

#i nclude //定義本地化c函式

#i nclude //定義數學函式

#i nclude //異常處理支援

#i nclude //訊號機制支援

#i nclude //不定引數列表支援

#i nclude //常用常量

#i nclude //定義輸入/輸出函式

#i nclude //定義雜項函式及記憶體分配函式

#i nclude //字串處理

#i nclude //定義關於時間的函式

#i nclude //寬字元處理及輸入/輸出

#i nclude //寬字元分類

傳統c++

#i nclude //改用

#i nclude //改用

#i nclude //改用

#i nclude //該類不再支援,改用中的stringstream

標準c++

#i nclude //stl 通用演算法

#i nclude //stl 位集容器

#i nclude //字元處理

#i nclude //定義錯誤碼

#i nclude //浮點數處理

#i nclude //對應各種運算子的巨集

#i nclude //定義各種資料型別最值的常量

#i nclude //定義本地化函式

#i nclude //定義數學函式

#i nclude //複數類

#i nclude //訊號機制支援

#i nclude //異常處理支援

#i nclude //不定引數列表支援

#i nclude //常用常量

#i nclude //定義輸入/輸出函式

#i nclude //定義雜項函式及記憶體分配函式

#i nclude //字串處理

#i nclude //定義關於時間的函式

#i nclude //寬字元處理及輸入/輸出

#i nclude //寬字元分類

#i nclude //stl 雙端佇列容器

#i nclude //異常處理類

#i nclude //檔案輸入/輸出

#i nclude //stl 定義運算函式(代替運算子)

#i nclude //定義各種資料型別最值常量

#i nclude //stl 線性列表容器

#i nclude //本地化特定資訊

#i nclude //stl 對映容器

#i nclude //stl通過分配器進行的記憶體分配

#i nclude //動態記憶體分配

#i nclude //stl常用的數字操作

#i nclude //引數化輸入/輸出

#i nclude        //基本輸入/輸出支援

#i nclude //輸入/輸出系統使用的前置宣告

#i nclude //資料流輸入/輸出

#i nclude //基本輸入流

#i nclude //stl迭代器

#i nclude //基本輸出流

#i nclude //stl 佇列容器

#i nclude //stl 集合容器

#i nclude //基於字串的流

#i nclude //stl 堆疊容器

#i nclude //標準異常類

#i nclude //底層輸入/輸出支援

#i nclude //字串類

#i nclude //執行期間型別資訊

#i nclude //stl 通用模板類

#i nclude //對包含值的陣列的操作

#i nclude //stl 動態陣列容器

c99增加的部分

#i nclude //複數處理

#i nclude //浮點環境

#i nclude //整數格式轉換

#i nclude //布林環境

#i nclude //整型環境

#i nclude //通用型別數學巨集

Linux核心 了解Linux核心搶占

目錄 無強制搶占 可搶占核心 自願核心搶占 完全實時搶占 在配置linux核心時,我們可以設定一些影響系統行為的引數。您可以使用不同的優先順序,排程類和搶占模型。了解並選擇正確的引數非常重要。在這篇文章中,我將介紹不同的搶占模型,以及每種模型如何影響使用者和核心行為 如果配置核心 使用make me...

Linux 核心 vs Windows 核心

windows 和 linux 可以說是我們比較常見的兩款作業系統的。windows 基本占領了電腦時代的市場,商業上取得了很大成功,但是它並不開源,所以要想接觸原始碼得加入 windows 的開發團隊中。這兩個作業系統各有千秋,不分伯仲。作業系統核心的東西就是核心,這次我們就來看看,linux 核...

Linux 核心 vs Windows 核心

作者丨小林coding windows 和 linux 可以說是我們比較常見的兩款作業系統的。windows 基本占領了電腦時代的市場,商業上取得了很大成功,但是它並不開源,所以要想接觸原始碼得加入 windows 的開發團隊中。這兩個作業系統各有千秋,不分伯仲。作業系統核心的東西就是核心,這次我們...