main.cpp:
#include "abc.h"
extern INT x[10];//使用extern就可以调用max.cpp中的变量了
INT main(){
INT a=1,b=2;
INT c=max(a,b);
}
max.cpp:
#include "abc.h"
INT x[10];
INT max(INT a,INT b){
if(a>b) return a;
return b;
}
abc.h:
#ifndef _ABC_H_
#define _ABC_H_
typedef int INT;//一定在此处,因为main调用的是abc.h,而不是max.cpp,如果abc.h中没有INT的定义,则main中就无法识别INT是什么了
INT max(INT a,INT b);
#endif
abc.h一定要写成#ifndef,如果不写成该形式的话,在#include "abc.h"两次以上时编译器就会报错
编译过程:
1.gcc main.cpp -o main.o //编译main.cpp生成.o文件
2.gcc max.cpp -o max.o//调用的头文件中的子函数生成.o文件
3.将两个.o文件link起来后同时编译