make

 

-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找的顺序是:/home/hello/include-->/usr/include-->/usr/local/include

-L /home/hello/lib表示将/home/hello/lib目录作为第一个寻找库文件的目录,寻找的顺序是:/home/hello/lib-->/lib-->/usr/lib-->/usr/local/lib

-lworld表示在上面的lib的路径中寻找libworld.so动态库文件(如果gcc编译选项中加入了“-static”表示寻找libworld.a静态库文件)

$@:目标文件

$^:所有的依赖文件

$<:第一个依赖文件

预处理:gcc -E hello.c -o hello.i 编译:gcc -S hello.i -o hello.s 汇编:gcc -c hello.s -o hello.o 链接:gcc hello.o -o hello

gcc -c -o hello.o hello.c    gcc -c hello.c -o hello.o

编译时,编译器只检测程序语法是否正确,函数变量的声明是否正确;链接时,主要链接函数和全局变量,

 

 

posted on 2012-06-13 16:39  yifans1989  阅读(106)  评论(0)    收藏  举报