【Android构建篇】MakeFile语法中 := 和 = 的区别 |
您所在的位置:网站首页 › cmake和make区别 › 【Android构建篇】MakeFile语法中 := 和 = 的区别 |
使用:=
在Makefile中使用 := 赋值方式定义变量时,如果该变量定义中包含了其他变量的引用,那么这些引用所表示的值将在变量定义时即被展开。也就是说,子变量会被立即展开,并赋值给父变量。 例如,在 Makefile 中有以下的变量定义: FOO := A123 BAR := $(FOO) B456 FOO := C789在这里,变量BAR的值是$(FOO) B456,其中 $(FOO) 表示一个子变量,即它的值是变量FOO的值。因为变量FOO被赋值为A123,所以 BAR 的值为: A123 B456 此时再将FOO重新赋值为C789,不会影响BAR的值,因为变量BAR已经在 Makefile 中被定义好。 使用 =和 := 不同的是,使用 = 赋值符号赋值的变量,变量中的子变量引用会在被使用时才被展开。例如: FOO = A123 BAR = $(FOO) B456 FOO = C789在这个例子中,变量 BAR 的值仍然是$(FOO) B456,但是因为是使用 = 赋值的方式定义变量,所以在 BAR 在实际使用前,$(FOO) 所表示的值将被展开并赋值给变量 BAR。 因此,此处 BAR 的值是: C789 B456 总之,使用 := 赋值符号,在Makefile中定义变量时,子变量引用会在变量定义时立即展开; 而使用 = 赋值符号,子变量引用会在变量使用时才被展开。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |