1.gcc参数
-o指定生成文件名
-c只编译不链接
2.makefile标准格式
CC=gcc #编译器变量,#代表注释 SRCS=main.cpp\#源文件变量 a.cpp\ b.cpp\ c.cpp OBJS=$(SRCS:.cpp=.o) #将SRCS中的.cpp全部替换为.o文件 EXEC=myapp#可执行文件编程 start: $(OBJS)#依赖文件 $(CC) -o $(EXEC) $(OBJS) .cpp.o: #每一个源文件和对应的目标文件 $(CC) -o $@ -c $< #编译生成对应源文件的目标文件 clean: rm -rf $(OBJS)#删除中间文件
3.makefile当要编译的多个文件中有发生改变的,则只重新编译和链接发生改变的文件,其他的文件不用重新编译,加快了编译速度
4.上文2中的makefile为一个标准的makefile文件格式,当有新增加的文件时,只要在SRCS=后面添加一个源文件,后面其他内容不用改变。
5.make不关心.h文件,.h文件由编译器管理,如果.h文件发生变化,那么需要将原来的.o文件删除进行重新编译链接
6.makefile是根据.cpp和.o文件的最后修改图日期判断.cpp文件是否需要编译,如果.o文件不存在,则make失去判断条件,一定会编译.cpp文件