C语言学习012:将代码文件分成多个文件

  如果将所有的代码都写到一个文件中,当对于小项目来说不会有什么问题,但是当它一个很大的工程的时候,如果将所有代码都写到一个文件中,不但开发起来很困难,维护更是头疼,所以我们应该将代码按不同的功能分别建立相应的代码文件,下面我们将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文件

原文地址:https://www.cnblogs.com/liunlls/p/C_any_file_build.html