1.1 C语言的编译链接和文件引用
编译链接
有代码如下:test.c
int main(int argc,char *argv[])
{
return argc;
}
对于c 的目录组织方式:
src:存放.c文件
obj:存放编译后的对象文件
inc:存放头文件
bin:存放可执行文件
//编译
gcc -c src/test.c -o obj/test.o
//链接
gcc obj/test.o -o bin/test
//执行
bin/test 1 3
//检测最近一步操作的返回
echo $?
文件引用
对于以下的代码test.c
1 #define MIN_PARAM_NUM 3
2 int chk_parm(int argc,int *argv[])
3 {
4 if(argc<MIN_PARAM_NUM)
5 return 0;
6 else
7 return 1;
8 }
9
10 int main(int argc,char *argv[])
11 {
12 return chk_parm(argc,argv);
13 }
我们将1-10行放到另一个文件src/parm.c 中,test.c的代码变为
2 int chk_parm(int argc,int *argv[])
10 int main(int argc,char *argv[])
11 {
12 return chk_parm(argc,argv);
13 }
注:需要有函数声明
下面对他们分别进行编译再链接
gcc -c src/test.c -o obj/test.o
gcc -c src/param.c -o obj/param.o
gcc obj/test.o obj/param.o -o bin/test