1. gcc编译器选项
-o,表示输出的可执行文件名。
-c,表示只要求编译器输出目标代码,而不必要输出可执行文件。
-g,表示要求编译器在编译的时候提供我们以后对程序进行调试的信息。
gcc -o hello hello.c
# 表示利用hello.c,生成可执行文件名hello,后续只需运行./hello即可
2. Makefile的一般格式
target:components
TAB rule
在Makefile中由#
开始的行都是注释行,Makefile中最重要的是描述文件的依赖关系的说明。例如:
main:main.o tool1.o tool2.o
gcc -o main main.o tool1.o tool2.o
表示目标(target)main的依赖对象(components)是main.o tool1.o tool2.o 当修改了依赖的对象后,就要执行规则所在行的命令(rule)。注意,其中的TAB,表示的是TAB键。
3. 常用变量符号的使用
$@
表示目标文件,$^
表示所有的依赖文件,$<
表示第一个依赖文件。
例如上述例子可以改写为:
main:main.o tool1.o tool2.o
gcc -o $@ $^
4. 缺省规则
.c.o:
这个规则表示所有的 .o文件都是依赖与相应的.c文件的。
网友评论