gpt4 book ai didi

makefile - ifeq( $(foo), ) 和 ifndef foo 有什么区别

转载 作者:行者123 更新时间:2023-12-05 03:14:04 25 4
gpt4 key购买 nike

根据 this link , 似乎这两个条件都会被评估为相同的结果,那么它们之间有什么区别呢?

ifeq ($(foo),)
execute somethings
endif

ifndef foo
execute somethings
endif

最佳答案

ifdef/ifndef 不展开变量。

显示不同行为的示例:

bar =
foo = $(bar)

ifndef foo
$(info yes)
else
$(info no)
endif

ifeq ($(foo),)
$(info yes)
else
$(info no)
endif

输出:

no
yes

第一个看到值“$(bar)”但失败了。第二个扩展了 foo 中的变量,所以它变成了 ""并通过了。

关于makefile - ifeq( $(foo), ) 和 ifndef foo 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27261879/

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