简单聊一下makefile中的 =, :=, ?=和+=
来源:互联网 发布:软件自动化研究生 编辑:程序博客网 时间:2024/06/05 14:40
最容易混淆的是 =和:=, 我们先来看看makefile:
x = helloy = $(x)x = worldtest1: test1.cpp@echo $(y)执行make后, 结果为world, 再看改动后的makefile:
x = helloy := $(x)x = worldtest1: test1.cpp@echo $(y)执行make后, 结果为hello, 为什么有区别呢?
因为=其实类似于C++中的引用, 相当于y和x绑定了, 所以在echo的时候, 值为world
而:=其实类似于C++中的赋值, 所以在echo的时候, 值为hello. 在makefile中, 强烈建议使用:=进行复制。
y?=x是什么呢? 其实很好理解, 它的意思是: 如果y没有赋值过, 那就赋值。 如果赋值过, 那本次就不赋值了。
y+=x是什么呢? 很好理解, 其实就是C++中的+=, 相当于累加。
这些东西本来很简单, 但我发现, 有很多地方没讲清楚, 所以来唠叨一下。
1 0
- 简单聊一下makefile中的 =, :=, ?=和+=
- Makefile中的:= 和+=
- Makefile中的:=和?=
- UNIX makefile中的=和:=
- Makefile中的-C和M=解析
- Makefile中的-C和M=解析
- Makefile中的“= := ?=”
- makefile中的=,:=和+=的理解
- Makefile :=和=区别
- Makefile中的=, :=, ?=, +=
- 区别makefile中的 = := ?= +=
- makefile中的=与:=的区别
- makefile中的=与:=区别
- 关于Makefile中的几个=号
- Makefile中的$(@:_config=)什么意思?
- Makefile中的$(@:_config=)什么意思?
- Makefile 中的?= 条件赋值的意思
- 两个简单例子揭示makefile中“=”和“:=”的区别
- R语言如何多行注释
- hdu5391
- 从P1到P7——我在淘宝这7年
- linux下添加定时任务 详解示例
- 找出一组数据的不同数据
- 简单聊一下makefile中的 =, :=, ?=和+=
- Jbpm 分派任务的几种方式
- 将数据存储到SD卡上
- Java泛型与反射
- poj 2531 Network Saboteur
- 360加固(apk二次签名)
- Android Menu 单选设置
- 给开发者的10个忠告
- HTTP响应