makefile 练习一

773阅读 0评论2011-07-22 001xiaofei
分类:

使用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

 

上一篇:gcc 编译c++程序过程小练
下一篇:tar 命令