当前位置:首页makefile|cmake > 正文

makefile中的几种等号赋值(=、:=、?=)

作者:野牛程序员:2024-01-03 15:51:20makefile|cmake阅读 2770

= 表示基本的变量赋值。使用等号赋值时,变量的值将在整个Makefile中都有效。

:= 表示简单的赋值。使用冒号等于赋值时,变量的值将在赋值时展开,而后续的使用将保持不变。

?= 表示如果变量未被赋值过,则进行赋值。如果变量已经有值(包括空值),那么?= 不会改变它的值。

这些等号赋值在Makefile中用于定义变量,具体选择取决于变量的使用和赋值的时机。

# 使用等号赋值
FOO = bar
all:
    @echo $(FOO)

# 使用冒号等于赋值
VAR := initial_value
TARGET := $(VAR)
VAR := new_value
all:
    @echo $(TARGET)

# 使用问号等于赋值
MY_VAR ?= default_value
all:
    @echo $(MY_VAR)

在上述示例中,等号(=)用于基本的变量赋值,冒号等于(:=)用于在赋值时展开变量,而问号等于(?=)用于仅在变量未被赋值时进行赋值。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击