makefile - make 中惰性设置和立即设置之间巨大的内存使用差异

标签 makefile variable-assignment

我注意到惰性集之间的内存使用情况存在差异:

XML2_INC=$(shell echo `xml2-config --cflags`)

和立即设置:

XML2_INC:=$(shell echo `xml2-config --cflags`)

在 makefile 中使用时同时进行作业:

make -j

系统监视器的屏幕: enter image description here

在时间线的第 40 秒左右,使用惰性集,在第 15 秒左右,使用立即集。所以我的问题是为什么这两者之间的内存消耗有这么大的差异?

最佳答案

第一个分配是惰性分配,每次使用时都会进行评估 - 因此每次使用 XML2_INC 作为变量时,xml2-config 都会运行。第二个在定义时进行评估。

关于makefile - make 中惰性设置和立即设置之间巨大的内存使用差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216460/

相关文章:

c++ - 执行生成文件

c - 适当的 Makefile 来替换 gcc 编译/链接运行?

shell - 在 Makefile 中做简单的数学运算

java - 重新排序分配并添加围栏

c++ - Dev-C++ 为 Makefile.win 和 g++ 停止提供错误

c++ - 关于我的简单 Makefile 的问题

java - 分配一个变量,实际发生了什么,Java

python - 在 Ubuntu 上的 Tkinter Python 中将突出显示的文本分配/存储为变量

c - 字符串赋值的类型不完整

C# - 对象变量赋值失败