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

时间:2023-03-09 06:18:41
C语言学习012:将代码文件分成多个文件

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

 #include <stdio.h>

 int main(){
int n=;
int m=;
int result;
result=add(n,m);
printf("n+m=%i\n",result);
result=sub(n,m);
printf("n-m=%i\n",result);
return ;
} int add(int n,int m){
return n+m;
} int sub(int n,int m){
return n-m;
}

  首先,我们将功能代码放到另一个文件cal.c文件中

 #include "cal.h"

 int add(int n,int m){
return n+m;
} int sub(int n,int m){
return n-m;
}  

  然后将函数声明放在另一个文件cal.h头文件中

int add(int n,int m);
int sub(int n,int m);

  现在我们再来看主程序中该怎么去调用这些方法

 #include <stdio.h>
#include "cal.h" int main(){
int n=;
int m=;
int result;
result=add(n,m);
printf("n+m=%i\n",result);
result=sub(n,m);
printf("n-m=%i\n",result);
return ;
}

  只需在主程序文件开头处引用"cal.h"头文件就行,注意这里的cal.h头文件是用双引号而不是<>括号;

  通过双引号引用的头文件是程序的相对路径,而通过尖括号引用的是程序的绝对路径

  最后,我们来看看该如何编译多个文件的程序,其实和和编译单个文件没有多大区别,就是在gcc后面逐个添加c文件

aaarticlea/png;base64,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" alt="" />