我在day2文件下创建了一个main.c函数,然后一个add文件夹,一个sub文件夹。其中add文件下有add_int.c,add_float.c,add.h;然后在sub文件夹中有sub_int.c,sub_float.c,sub.h文件。然后main.c的内容是:
#include <stdio.h>
#include "add.h"
#include "sub.h"
int main(void)
{
int a = 10,b = 12;
float x = 1.23456,y = 9.87654321;
printf("int a+b IS:%d\n",add_int(a,b));
printf("int a-b IS:%d\n",sub_int(a,b));
printf("float x+y IS:%f\n",add_float(a,b));
printf("float x-y IS:%f\n",sub_float(a,b));
return 0;
}
add_int.c:
int add_int(int a,int b)
{
return a+b;
}
add_float.c:
float add_float(float x,float y)
{
return x+y;
}
add.h:
#ifndef __ADD_H
#define __ADD_H
extern int add_int(int a,int b);
extern float add_float(float x,float y);
#endif
sub_float.c:
float sub_float(float x,float y)
{
return x-y;
}
sub_int.c:
int sub_int(int a,int b)
{
return a-b;
}
sub.h:
#ifndef __SUB_H
#define __SUB_H
extern float sub_float(float x,float y);
extern int sub_int(int x,int y);
#endif#ifndef __SUB_H
#define __SUB_H
extern float sub_float(float x,float y);
extern int sub_int(int x,int y);
#endif
这样我们可以使用
gcc -o main1.out main.c -I ./add/ -I ./sub/ add/add_int.c add/add_float.c sub/sub_int.c sub/sub_float.c
其中main1.out是你生成的可执行文件的名字,然后 -I ./add/表示的是你的当前文件下的add文件下的一个路径。这里使用的-I是让编译器从add和sub下寻找相应的文件。