c 單獨編譯和c 的多檔案組織結構

2021-06-21 16:39:27 字數 1316 閱讀 2971

1.通常當乙個程式**較多較複雜時,我們會把乙個程式分為幾個部分,存放在不同的資料夾中,對於乙個不是很複雜的程式,通常大概可以分為三個部分,乙個標頭檔案,兩個源**檔案。

●標頭檔案中通常包含以下內容:

☉函式原型

☉使用#define或const定義的符號常量

☉結構體宣告

☉類宣告

☉模板宣告

☉內聯函式

2.在包含我們自己定義的標頭檔案時,我們應該用雙引號「」,而不是尖括號<>。如果檔名包含在尖括號<>中,則c++編譯器將在儲存標準標頭檔案的主機系統的檔案系統中查詢;但如果標頭檔案包含在雙引號中,則編譯器首先查詢當前的工作目錄或代原始碼目錄(或其他目錄,取決於編譯器)。如果沒有在那裡找到標頭檔案,則將在標準位置查詢。因此在包含自己定義的標頭檔案時,應使用引號而不是尖括號。

3.在標頭檔案中使用#ifndef, #define,#endif的原因:

因為我們在不知情的原因下,很可能將標頭檔案包含多次。例如,可能使用包含了另外乙個標頭檔案的檔案。有一種標準的c/c++技術可以避免多次包含同乙個檔案。它是基於預處理器編譯指令#ifndef(即if not define)的,下面的**片段意味著僅當前沒有使用預處理器編譯指令#define定義名稱coordin_h_時,才處理#ifndef和#endif之間的語句:

#ifndef coordin_h_

...#endif

編譯器首次遇到該檔案時,名稱coordin_h_沒有定義(這個名稱是根據標頭檔案的名字取得,並加上一些下劃線,使其在其他地方不大可能被定義),在這種情況下,編譯器將檢視#ifndef和#endif之間的內容(這正是我們所希望看到的),如果在同乙個檔案中遇到其他包含coordin.h的內容,編譯器就知道coordin_h_已經被定義了,從而跳到#endif後面的一行上。

4.c++的多檔案組織結構例項:

下例中,分為三個檔案,乙個標頭檔案,兩個源**檔案:

結構如下:

file1檔案中的內容:

file2檔案中的內容:

coordin.h檔案的內容:

C 實驗(七) 多檔案組織結構

1 學習將 c 程式按照不同的模組分割在不同的檔案中進行組織。2 學習編譯預處理命令在多檔案工程中的使用。編寫好的程式檔案按照不同的模組分割成不同的檔案,新增合適的 include 語句和預編譯命令,將其改造為乙個多檔案工程。具體要求如下。相關實驗中 參見本書前面的實驗 實現了複數類的算術運算和輸入...

有關C 中的多檔案組織結構

今天讀到了多檔案組織結構,感覺對c 的認識又上了乙個層次,接下來就談談多檔案組織結構。c 中程式的顯著特點,有三部分構成,類的定義,類的實現,類的使用 主函式 通常乙個程式是由多個源程式檔案構成,源程式檔案又稱為編譯單元,每個源程式檔案可以進行單獨編寫,編譯,再進行連線。再來說說原始檔和標頭檔案。原...

C 程式的多檔案組織

構造乙個大型程式時,如果程式開發時間有限,這種形式的團隊協作就非常重要。利用函式將乙個程式設計任務分解為子任務的乙個優勢在於,不同的人可以負責不同的子任務。在程式進行編譯時,以程式模組 即程式檔案 為編譯單位,即分別對每乙個編譯單位進行編譯。如果發現錯誤,可以在本程式模組範圍內查錯並改正。考慮識別符...