C語言 多檔案程式設計

2021-08-04 13:54:10 字數 1508 閱讀 5222

1、多檔案程式設計,乙個檔案可以有多個函式,但是乙個函式最多乙個檔案

2、多檔案程式設計的步驟:

• 把所有函式分散在多個檔案中,通常主函式在單獨的檔案裡

• 為每個原始檔編寫乙個配對的以.h作為副檔名的標頭檔案,主函式所在的不需要,不分配記憶體的內容都可以寫在標頭檔案裡,標頭檔案裡至少要包含配對原始檔裡所有函式的宣告

• 在所有原始檔裡使用#include預處理指令包含所需要的標頭檔案,配對標頭檔案是一種需要的標頭檔案,如果原始檔裡宣告了標頭檔案裡宣告的函式,也是需要的標頭檔案

3、在gcc命令後列出所有原始檔的路徑就可以編譯多檔案程式

eg:lxl@ubuntu

:~/day/day14

$ gcc text1.c text1-1.c

4、可以把多檔案程式的編譯過程記錄在makefile檔案裡,然後使用make工具完成編譯

#ifndef __text_h__//用條件編譯防止text.h被多次包含

// 使用條件編譯可以避免重複編譯,

// 需要注意的是要使用#ifndef語句

// 不同標頭檔案的巨集名稱必須不同

// 標頭檔案產用的巨集名稱應該是根據標頭檔案的路徑得來的

#define __text_h__

int add(int,int);//標頭檔案裡至少要包含配對原始檔裡所有函式的宣告

#endif //__text_h__

5、從乙個原始檔裡使用另乙個原始檔的全域性變數時,需要使用extern關鍵字再次宣告這個全域性變數先在函式裡新增變數,再在標頭檔案用extern宣告

6、使用exrern關鍵字宣告變數時,通常放在標頭檔案裡

7、不可以跨檔案使用靜態全域性變數

多檔案程式設計:

text1.c:

/* * 多檔案程式設計

* */

#include

#include "text1-1.h"

int main()

text1-1.c:

#include "text1-1.h"//將宣告本函式的標頭檔案包含進來

//如果還有其他函式也需要包含進

int add(int num, int num1)

text1-1.h:

#ifndef __text_h__//如果乙個檔案包含了此標頭檔案多次,使用這種方法,即在第一次編譯時沒有定義abc的巨集,執行了下面的所有,第二次再遇到編譯此檔案時abc已經被定義,就不會再編譯

// 使用條件編譯可以避免重複編譯,

// 粗要注意的是要使用#ifndef語句

// 不同標頭檔案的巨集名稱必須不同

// 標頭檔案產用的巨集名稱應該是根據標頭檔案的路徑得來的

#define __text_h__

int add(int,int);//標頭檔案裡至少要包含配對原始檔裡所有函式的宣告

#endif //__text_h__

C語言 多檔案程式設計

分檔案程式設計 1 當乙個專案比較大時,往往都是分檔案,這時候有可能不小心把同乙個標頭檔案 include 多次,或者標頭檔案巢狀包含。a.h 中包含 b.h include b.h b.h 中包含 a.h include a.h main.c 中使用其中標頭檔案 include a.h intma...

C 多檔案程式設計

2.基本規則 3.改造步驟 4.編譯方法 mutil main.c include include multi read 1.h 因為主函式用到了 multi read 1.h 裡宣告的read函式 intmain multi read 1.h ifndef multi read 1 h defin...

C語言模組化開發(多檔案程式設計)

1.main.c是程式的主模組,module.c是程式的乙個模組,main中使用extern int m來宣告變數,定義在module中,說明module中定義的全域性變數的作用域是整個程式。2.假如要使用printf函式的話就新增標頭檔案stdio.h,標頭檔案裡面都是函式的宣告,定義在系統庫中。...