|
本帖最后由 sunsili 于 2024-4-3 18:01 编辑
C语言基础教程-- 编译智能化之Makefile应用
引言
我们写好的代码需要编译,是不是每次都要输入
一切为了偷懒
古人云:”勤劳能致富“。
余昧,思之:”不然,古时农民多是勤劳之人,然之非富也。余以为懒为社会发展之源也。“
现在文件少,还好写,文件多了,这个样写,写完成这个语句都要天亮了,那我们怎么办呢?聪明的前人,就发明了Makefile, 写代码按一定规则编译,输入
即可
我们试着新建文文档,输入
保存为Makefile,注意没有后缀
打开命令提示符,到源码目录,输入
再输入
和我们要得到结果是一样的。
再更改一下Makefile
- tag = hello.exe
- obj = hello.o
- src += hello.c
- cc = gcc
- all: $(obj)
- $(cc) -o $(tag) $(obj)
- run: $(tag)
- $(tag)
- %.o: %.c
- $(cc) -c $(CFLAGS) [ DISCUZ_CODE_198 ]lt; -o $@
- clean:
- rm -f *.o
复制代码 注释:
目标:依赖
<Tab键> (编译命令或Linux命令)
- obj = hello.o
- hello:$(obj) //引用变量$(变量名)
- gcc -o hello $(obj)
- %.o : %.c //通配符 所有*.o 依赖于 *.c *.c编译得到*.0
- gcc -c [ DISCUZ_CODE_55 ]lt; //表示第一个依赖
- gcc -c $@ //所有目标
- gcc -c $^ //所有依赖
复制代码
伪目标:依赖
- clean: //清理中间文件
- rm hello.o
复制代码
现在不理解,没关系,照做就好了。
以后再理解
输入
编译
输入
还可以运行
******原创文章,转载请说明出处****** |
+10
|