我在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下尋找相應的文件。