如果將所有的代碼都寫到一個文件中,當對於小項目來說不會有什麼問題,但是當它一個很大的工程的時候,如果將所有代碼都寫到一個文件中,不但開發起來很困難,維護更是頭疼,所以我們應該將代碼按不同的功能分別建立相應的代碼文件,下麵我們將program.c的代碼分成多個文件 首先,我們將功能代碼放到另一個文件c ...
如果將所有的代碼都寫到一個文件中,當對於小項目來說不會有什麼問題,但是當它一個很大的工程的時候,如果將所有代碼都寫到一個文件中,不但開發起來很困難,維護更是頭疼,所以我們應該將代碼按不同的功能分別建立相應的代碼文件,下麵我們將program.c的代碼分成多個文件
1 #include <stdio.h> 2 3 int main(){ 4 int n=10; 5 int m=5; 6 int result; 7 result=add(n,m); 8 printf("n+m=%i\n",result); 9 result=sub(n,m); 10 printf("n-m=%i\n",result); 11 return 0; 12 } 13 14 int add(int n,int m){ 15 return n+m; 16 } 17 18 int sub(int n,int m){ 19 return n-m; 20 }
首先,我們將功能代碼放到另一個文件cal.c文件中
1 #include "cal.h" 2 3 int add(int n,int m){ 4 return n+m; 5 } 6 7 int sub(int n,int m){ 8 return n-m; 9 }
然後將函數聲明放在另一個文件cal.h頭文件中
int add(int n,int m); int sub(int n,int m);
現在我們再來看主程式中該怎麼去調用這些方法
1 #include <stdio.h> 2 #include "cal.h" 3 4 int main(){ 5 int n=10; 6 int m=5; 7 int result; 8 result=add(n,m); 9 printf("n+m=%i\n",result); 10 result=sub(n,m); 11 printf("n-m=%i\n",result); 12 return 0; 13 }
只需在主程式文件開頭處引用"cal.h"頭文件就行,註意這裡的cal.h頭文件是用雙引號而不是<>括弧;
通過雙引號引用的頭文件是程式的相對路徑,而通過尖括弧引用的是程式的絕對路徑
最後,我們來看看該如何編譯多個文件的程式,其實和和編譯單個文件沒有多大區別,就是在gcc後面逐個添加c文件