linux 標頭檔案

2021-07-10 21:13:05 字數 1807 閱讀 2968

本文介紹了linux 下gcc標頭檔案指定方法,以及搜尋路徑順序的問題。

一.#include <>

與#include 

「」#include <>直接到系統指定的某些目錄中去找某些標頭檔案。

#include 「」先到原始檔所在資料夾去找,然後再到系統指定的某些目錄中去找某些標頭檔案。

二.gcc

指定標頭檔案的三種情況:

1.會在預設情況下指定到

/usr/include

資料夾(

更深層次的是乙個相對路徑,

gcc可執行程式的路徑是

/usr/bin/gcc

,那麼它在實際 工作時指定標頭檔案頭徑是一種相對路徑方法,換算成絕對路徑就是加上

/usr/include

,如#include 

就是包含

/usr/include /stdio.h)

2.gcc還使用了

-i指定路徑的方式,即

gcc -i 標頭檔案所在資料夾

(絕對路徑或相對路徑均可

) 原始檔

舉乙個例子:

設當前路徑為/root/test,

其結構如下:

include_test.c

include/include_test.h

有兩種方法訪問到include_test.h

。1. include_test.c中

#include 

「include/include_test.h

」然後gcc include_test.c

即可2. include_test.c中

#include 

或者#include 

然後gcc 

–i include include_test.c

也可3. 引數:

-nostdinc

使編譯器不再系統預設的頭檔案目錄裡面找標頭檔案

,一般和

-i聯合使用

,明確限定標頭檔案的位置。

在編譯驅動模組時,由於非凡的需求必須強制gcc

不搜尋系統預設路徑,也就是不搜尋

/usr/include

要用引數

-nostdinc

,還要自己用

-i引數來指定核心標頭檔案路徑,這個時候必須在

makefile

中指定。

標頭檔案搜尋順序:

1.由引數

-i指定的路徑

(指定路徑有多個路徑時,按指定路徑的順序搜尋

)2.然後找

gcc的環境變數 

c_include_path, cplus_include_path, objc_include_path

3.再找內定目錄

/usr/include

/usr/local/include

/usr/lib/gcc-lib/i386-linux/2.95.2/include

/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g++-3

/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include

庫檔案,但是如果裝gcc

的時候,是有給定的

prefix

的話,那麼就是

/usr/include

prefix/include

prefix/***-***-***-gnulibc/include

prefix/lib/gcc-lib/***x-***-***-gnulibc/2.8.1/include

Linux標頭檔案 C C 標頭檔案

linux標頭檔案 c c 標頭檔案。linux常用標頭檔案如下 posix標準定義的標頭檔案 目錄項 檔案控制 檔名匹配型別 路徑名模式匹配型別 組檔案 網路資料庫操作 口令檔案 正規表示式 tar歸檔值 終端i o 符號常量 檔案時間 字元擴充套件型別 internet定義 套接字本地介面 in...

linux標頭檔案

驗證程式斷言 cpio歸檔值 字元型別 目錄項 出錯碼 檔案控制 浮點常數 訊號 可變參數列 標準定義 標準i o庫 公用函式 字串操作 tar歸檔值 終端i o 時間和日期 使用者限制 符號常數 檔案時間 ipc 訊息佇列 訊號量 共享儲存 檔案狀態 程序時間 原系統資料型別 程序控制 1 lin...

Linux標頭檔案

include 是在linux 2.6.29 include linux下面尋找原始檔。include 是在linux 2.6.29 arch arm include asm下面尋找原始檔。include 是在linux 2.6.29 arch arm mach s3c2410 include ma...