1 多文件函數編程,把所有的函數分散在不同的源文件裡,主函數經常單獨寫在一個源文件裡面
2 每個源文件編寫配對的.h文件作為擴展名的頭文件,不分配內存的內容都可以寫在頭文件裡,至少應該包括函數聲明
3 每個源文件的使用#include預處理命令,配對頭文件是必要頭文件,如果頭文件在聲明的函數中被調用,則也要添加頭文件。
4 編譯多文件程序可以在gcc令後面吧所有的源文件名稱列出來;
也可以利用makefile文件編譯文件
makefie中記錄了編譯過程中所需要的所有的步驟目錄,make工具可以根據makefile中記錄的步驟完成編譯工作。
makefile的用法,每個編譯命令前面只能寫TAB而不是空格
例如是一個加法函數和主函數的makefile 制作
a.out:main.o add.o
gcc main.o add.o
main.o:main.c
gcc -c main.c
add.o:add.c
gcc -c add.c
利用 make 可以得到兩個.o文件和一個執行文件,也就是a.out
這個是makefile 的基本寫法。注意要先寫最終的執行文件的依賴,然後寫怎樣得到依賴文件。小細節是Makefile的M是大寫的,後面兩行的不能用空格來打,用TAB鍵
頭文件的內容應該被包含在條件編譯的預處理指令中,可以避免被多次編譯。頭文件使用的宏名稱應該根據文件名變化得到
如果一個源文件裡面要使用另外一個源文件的聲明的變量,用extern關鍵字。extern關鍵字聲明變量的語句一般不會分配內存,經常被放在頭文件裡面。靜態全局變量不可以被其他的文件中的語句使用