一、
原始檔如何根據
#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這種,或者只在該函式域起作用的,不過多解釋 在寫標頭檔案時需要注意,在開頭和結尾處必須按照如下樣式...