学习Makefile以及gcc相关知识笔记

1.gcc库文件先后顺序有影响!后写的(lib2.a)可以依赖先写的(lib1.a),顺序不能反过来:

gcc lib1.a lib2.a -o main

2.VPATH 可指定源文件的文件路径,但引用头文件路径应该由 '-I dir'指定,可用vpath 匹配模式:

vpath %.c src
vpath %.h include

3.$^ 和$+ 含有一样,都表示所有列出的依赖,但是后者不会去重(在出现库文件循环引用时有用)。        

4.解决A、B库的循环引用问题:

gcc -lA -lB -lA -o main

5.lval?=rval 以及:=,=,+=。?=只有在lval不存在才赋值,:=就是最普通的赋值,=是延迟赋值,在使用lval时,会用 最新的rval跟新lval,+=见名知意。

6.可以为专属工作目标设置不同的变量:

gui.o:CPPFLAGS += -DUSE_NEW_MALLOC=1
gui.o:gui.c
    ...

7.Makefile里面变量赋值中,lval前面加上‘override’ 可覆盖命令行指定的值。

8.未完待续。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值