gpt4 book ai didi

makefile - := and = in Makefile? 和有什么区别

转载 作者:行者123 更新时间:2023-12-03 05:13:29 24 4
gpt4 key购买 nike

对于 Make 中的变量赋值,我看到了 := 和 = 运算符。他们之间有什么区别?

最佳答案

简单赋值:=

简单的赋值表达式仅在第一次出现时计算一次。例如,如果在第一次遇到时 CC :=${GCC} ${FLAGS} 被评估为 gcc -W 那么每次出现 ${CC} 时,它都会被替换为 gcc -W

递归赋值=

每次遇到变量时都会计算递归赋值表达式在代码中。例如,像 CC = ${GCC} {FLAGS} 这样的语句仅在以下情况下才会被评估: 执行类似 ${CC} file.c 的操作。但是,如果变量 GCC 被重新分配,即GCC=c++ 则重新赋值后,${CC} 将转换为 c++ -W

条件赋值?=

条件赋值仅在变量没有值时才为其赋值

附加+=

假设CC = gcc,则使用附加运算符,如CC += -w
那么 CC 现在的值为 gcc -W

有关更多信息,请查看这些 tutorials

关于makefile - := and = in Makefile? 和有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4879592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com