在内核的Makefile中,有如下代码,下列选项中关于代码中的%,$@ , FORCE的描述,不正确的是() 1. %.i: %.c prepare scripts FORCE 2.     $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 3. PHONY += FORCE 4. FORCE:

区块链毕设网qklbishe.com为您提供问题的解答

在内核的Makefile中,有如下代码,下列选项中关于代码中的%,$@ , FORCE的描述,不正确的是()

1. %.i: %.c prepare scripts FORCE
2.    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
3. PHONY += FORCE
4. FORCE:

在 Makefile 中,.PHONY是一个特殊的目标,它表示一些伪目标,这些目标不是真正的文件,而只是为了表示一些操作或命令。在 Makefile 中使用.PHONY可以避免与同名文件发生冲突,并可以加快构建速度。

A 选,因为FORCE是一个伪目标,用于强制重新构建目标。
B 选项,因为%表示通配符,用来匹配所有的规则。$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)命令只有在依赖文件和目标文件的时间戳不一致时才会被执行,否则不会执行。
因为 FORCE 是一个伪目标,它没有实际的文件名,因此它的时间戳总是比依赖文件和目标文件的时间戳更早,从而导致依赖于它的规则中的命令总是被执行,即使依赖文件和目标文件的时间戳相同。
C 选项,因为$@是自动化变量,用来表示当前规则中的目标。

选项 D ,因为如果我们添加了.PHONY: $(PHONY),它会把 PHONY 中的所有伪目标都声明为一个.PHONY目标,而这样做可能会导致意外的行为。具体来说,在该 Makefile 中,如果我们将所有的伪目标都声明为.PHONY目标,就会导致$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)命令总是被执行,这是因为.PHONY目标的时间戳总是比依赖文件和目标文件的时间戳更旧,从而始终被认为是需要重新构建的目标。

18:22

以上就是关于问题在内核的Makefile中,有如下代码,下列选项中关于代码中的%,$@ , FORCE的描述,不正确的是()
1. %.i: %.c prepare scripts FORCE
2.     $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 3. PHONY += FORCE 4. FORCE:的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 在内核的Makefile中,有如下代码,下列选项中关于代码中的%,$@ , FORCE的描述,不正确的是() 1. %.i: %.c prepare scripts FORCE 2.     $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 3. PHONY += FORCE 4. FORCE: