全部博文(395)
分类: LINUX
2011-07-22 16:05:30
使用gcc编译c语言程序过程
[root@localhost p3.8]# pwd
/home/linux_book/bianchengjishuxiangjie/p3/p3.8
[root@localhost p3.8]# vim p3.1.c
#include
#define MIN(A,B) ((A)>(B)?(B):A)
int main(){
int a;
a=MIN(1,2);
printf("The result is:%d\N",a);
return 0;
}
[root@localhost p3.1]# vi Makefile
p3.1 : p3.1.c
gcc -0 p3.1 p3.1.c
[root@localhost p3.1]# make
gcc -o p3.1 p3.1.c
[root@localhost p3.1]# ls
Makefile p3.1 p3.1.c
[root@localhost p3.1]# ./p3.1
The result is:1
[root@localhost p3.1]# rm -f p3.1
[root@localhost p3.1]# gcc -c p3.1.c (注:-c选项只生成目标代码,不生成可执行代码)
[root@localhost p3.1]# ls
Makefile p3.1.c p3.1.o
[root@localhost p3.1]# file p3.1.o
p3.1.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
[root@localhost p3.1]# gcc -o p3.1 p3.1.o
[root@localhost p3.1]# ls
Makefile p3.1 p3.1.c p3.1.o (注:说明.o也可以产生可执行代码)
[root@localhost p3.1]# rm -f p3.1
改变Makefile如下:
CC=gcc
p3.1 : p3.1.c
$(CC) -o p3.1 p3.1.c
[root@localhost p3.1]# make
gcc -o p3.1 p3.1.c
[root@localhost p3.1]# ./p3.1
The result is:1