如果将所有的代码都写到一个文件中,当对于小项目来说不会有什么问题,但是当它一个很大的工程的时候,如果将所有代码都写到一个文件中,不但开发起来很困难,维护更是头疼,所以我们应该将代码按不同的功能分别建立相应的代码文件,下面我们将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 ",result); 9 result=sub(n,m); 10 printf("n-m=%i ",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 ",result); 10 result=sub(n,m); 11 printf("n-m=%i ",result); 12 return 0; 13 }
只需在主程序文件开头处引用"cal.h"头文件就行,注意这里的cal.h头文件是用双引号而不是<>括号;
通过双引号引用的头文件是程序的相对路径,而通过尖括号引用的是程序的绝对路径
最后,我们来看看该如何编译多个文件的程序,其实和和编译单个文件没有多大区别,就是在gcc后面逐个添加c文件