C 標頭檔案和原始檔的關係

2021-06-19 20:21:47 字數 1330 閱讀 4785

一、

原始檔如何根據

#include

來關聯標頭檔案

1,系統自帶的標頭檔案用尖括號括起來

--#include,

這樣編譯器會在系統檔案目錄下查詢。

2,使用者自定義的檔案用雙引號括起來

--#include 「"***.h」

編譯器首先會在使用者目錄下查詢,然後在到

c++安裝目錄(比如

vc中可以指定和修改庫檔案查詢路徑,

unix

和linux

中可以通過環境變數來設定)中查詢,最後在系統檔案中查詢。

二、標頭檔案如何來關聯原始檔

#include

預處理就是完成了乙個

「複製並插入**

」的工作。編譯器預處理時,要對

#include

命令進行

「檔案包含處理

」:即將

file2.c

的全部內容複製到

#include 「file2.c」處。

已知:「a.h」------

宣告了一系列函式

「b.cpp」-----

實現了「a.h」

中的函式

「c.cpp」------

想使用「b.cpp」

中實現的函式

問題:通常都是在

「c.cpp」

中使用#include 「a.h」,

那麼c.cpp

是怎樣找到

b.cpp

中的實現呢?

注:編譯的時候,並不會去找

b.cpp

檔案中的函式實現,只有在

link

的時候才進行這個工作。 l

我們在b.cpp

或c.cpp

中用#include 「a.h」

實際上是引入相關宣告,使得編譯可以通過,程式並不關心實現是在**,是怎麼實現的。 l

原始檔編譯後成生了目標檔案(.o或

.obj

檔案),目標檔案中,這些函式和變數就視作乙個個符號。 l

在link

的時候,需要在

makefile

裡面說明需要連線哪個.o或

.obj

檔案(在這裡是

b.cpp

生成的.o

或.obj

件),此時,聯結器會去這個.o或

.obj

檔案中找在

b.cpp

中實現的函式,再把他們

build

到makefile

中指定的那個可以執行檔案中。

注:根據

整理

標頭檔案和原始檔

一.例1 test.h void show test.cpp include using namespace std void show includeproblem.cpp include test.h int main 可以看到 includeproblem.cpp檔案彙總 include te...

標頭檔案與同名原始檔的關係

一 原始檔如何根據 include來關聯標頭檔案 1,系統自帶的標頭檔案用尖括號括起來,這樣編譯器會在系統檔案目錄下查詢。include 2,使用者自定義的檔案用雙引號括起來,編譯器首先會在使用者目錄下查詢,然後在到c 安裝目錄 比如vc中可以指定和修改庫檔案查詢路徑,unix和linux中可以通過...

C 標頭檔案和原始檔的解釋

標頭檔案 h 原始檔 cpp 原始檔寫函式的定義,標頭檔案用於寫函式的宣告,包括類裡面的成員和方法的宣告 函式原型 define常數等,但一般來說不寫出具體的實現,除了宣告也有一些例外,不如static這種,或者只在該函式域起作用的,不過多解釋 在寫標頭檔案時需要注意,在開頭和結尾處必須按照如下樣式...