在linux中,h檔案是系統中的標頭檔案,一般用於存放一些重複使用的程式碼,如函數宣告、變數宣告、常數宣告、宏的定義等等;標頭檔案是一種文字檔案,使用文字編輯器編輯完成後,以擴充套件名「.h」儲存即可。
本教學操作環境:linux7.3系統、Dell G3電腦。
標頭檔案是一種文字檔案,使用文字編輯器將程式碼編寫好之後,以擴充套件名.h儲存就行了。標頭檔案中一般放一些重複使用的程式碼,例如函數宣告、變數宣告、常數定義、宏的定義等等。
標頭檔案目錄中總共有32個.h標頭檔案。其中主目錄下有13個,asm子目錄中有4個,Linux子目錄中有10個,sys子目錄中有5個。
<a.out.h>:a.out標頭檔案,定義了a.out執行檔案格式和一些宏。
<const.h>:常數符號標頭檔案,目前僅定義了i節點中i_mode欄位的各標誌位。
<ctype.h>:字元型別標頭檔案,定義了一些有關字元型別判斷和轉換的宏。
<errno.h>:錯誤號標頭檔案,包含系統中各種出錯號。(Linus從minix中引進的)。
<fcntl.h>:檔案控制標頭檔案,用於檔案及其描述符的操作控制常數符號的定義。
<signal.h>:訊號標頭檔案,定義訊號符號常數,訊號結構以及訊號操作函數原型。
<stdarg.h>:標準引數標頭檔案,以宏的形式定義變數參數列。主要說明了一個型別(va_list)和3個宏(va_start, va_arg和va_end),用於vsprintf、vprintf、vfprintf函數。
<stddef.h>:標準定義標頭檔案,定義了NULL, offsetof(TYPE, MEMBER)。
<string.h>:字串標頭檔案,主要定義了一些有關字串操作的嵌入函數。
<termios.h>:終端輸入輸出函數標頭檔案,主要定義控制非同步通訊口的終端介面。
<time.h>:時間型別標頭檔案,主要定義了tm結構和一些有關時間的函數原形。
<unistd.h>:Linux標準標頭檔案,定義了各種符號常數和型別,並宣告了各種函數。如,定義了__LIBRARY__,則還包括系統呼叫號和內嵌組合_syscall0()等。
<utime.h>:使用者時間標頭檔案,定義了存取和修改時間結構以及utime()原型。
體系結構相關標頭檔案子目錄include/asm
這些標頭檔案主要定義了一些與CPU體系結構密切相關的資料結構、宏函數和變數。共4個檔案。
<asm/io.h>:I/O標頭檔案,以宏的嵌入組合程式形式定義對I/O埠操作的函數。
<asm/memory.h>:記憶體拷貝標頭檔案,含有memcpy()嵌入式組合宏函數。
<asm/segment.h>:段操作標頭檔案,定義了有關段暫存器操作的嵌入式組合函數。
<asm/system.h>:系統標頭檔案,定義了設定或修改描述符/中斷門等的嵌入式組合宏。
Linux核心專用標頭檔案子目錄include/linux
<linux/config.h>:核心設定標頭檔案,定義鍵盤語言和硬碟型別(HD_TYPE)可選項。
<linux/fdreg.h>:軟碟機標頭檔案,含有軟碟控制器引數的一些定義。
<linux/fs.h>:檔案系統標頭檔案,定義檔案表結構(file,buffer_head,m_inode等)。
<linux/hdreg.h>:硬碟引數標頭檔案,定義存取硬碟暫存器埠、狀態碼和分割區表等資訊。
<linux/head.h>:head標頭檔案,定義了段描述符的簡單結構,和幾個選擇符常數。
<linux/kernel.h>:核心標頭檔案,含有一些核心常用函數的原形定義。
<linux/mm.h>:記憶體管理標頭檔案,含有頁面大小定義和一些頁面釋放函數原型。
<linux/sched.h>: 排程程式標頭檔案,定義了任務結構task_struct、初始任務0的資料,
以及一些有關描述符引數設定和獲取的嵌入式組合函數宏語句。
<linux/sys.h>:系統呼叫標頭檔案,含有72個系統呼叫C函數處理程式,以"sys_"開頭。
<linux/tty.h>:tty標頭檔案,定義了有關tty_io,序列通訊方面的引數、常數。
系統專用資料結構子目錄include/sys
<sys/stat.h>: 檔案狀態標頭檔案,含有檔案或檔案系統狀態結構stat{}和常數。
<sys/times.h>:定義了程序中執行時間結構tms以及times()函數原型。
<sys/types.h>:型別標頭檔案,定義了基本的系統資料型別。
<sys/utsname.h>:系統名稱結構標頭檔案。
<sys/wait.h>:等待呼叫標頭檔案,定義系統呼叫wait()和waitpid()及相關常數符號。
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擴充套件標頭檔案
g`"<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> 事件跟蹤
推薦學習:Linux視訊教學
以上就是linux的h檔案是什麼的詳細內容,更多請關注TW511.COM其它相關文章!