多文件编译格式:gcc xxx.c yyy.x zzz.c ... -o xxx
main.c
#include<stdio.h>
#include "arr1.h"
int main()
{
int a[]={1,2,3,4,5};
printf(" 总数为:%d ",ar(a,5));
return 0;
}
arr1.c
int sum=0;
int ar(int a1[],int len)
{
int i;
for(i=0;i<len;i++)
{
sum=sum+a1[i];
}
return sum;
}
arr1.h
头文件中编写的对应源文件中所有函数(或者全局变量)的声明
外部extern声明时不能赋初值
#ifndef _ARR1_H_
#define _ARR1_H_
extern int sum;
int ar(int a1[],int len);
#endif
makefile
arr:main.o arr1.o
gcc main.o arr1.o -o arr
main.o:main.c
gcc -c main.c
arr1.o:arr1.c
gcc -c arr1.c
下面这种类型的代码要离 开头一个tab的距离
gcc main.o arr1.o -o arr
gcc -c main.c
gcc -c arr1.c