linux的h檔案是什麼

2022-05-17 19:01:16

在linux中,h檔案是系統中的標頭檔案,一般用於存放一些重複使用的程式碼,如函數宣告、變數宣告、常數宣告、宏的定義等等;標頭檔案是一種文字檔案,使用文字編輯器編輯完成後,以擴充套件名「.h」儲存即可。

本教學操作環境:linux7.3系統、Dell G3電腦。

linux的h檔案是什麼

標頭檔案是一種文字檔案,使用文字編輯器將程式碼編寫好之後,以擴充套件名.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其它相關文章!