gpt4 book ai didi

makefile - 从传递给用户定义函数的参数中去除前导空格

转载 作者:行者123 更新时间:2023-12-04 23:58:32 38 4
gpt4 key购买 nike

如何使用 gnu-make 从传递给用户定义函数的参数中去除前导空格?

例如:

define FOO
# --- some build rules

# run the built target
/home/user/dir/bin/$(1)

endef

以下调用正常工作,因为没有前导空格:
$(eval $(call FOO,my_test ) )

不幸的是以下失败了,因为 $(1)有领先的空间
$(eval $(call FOO, my_test ) )
^
Additional space to 'prettier' formatting

这最终扩展到:
/home/user/dir/bin/ $(1)
^
Leading whitespace

如何从传递给用户定义函数的参数中去除前导空格?

这样做是不好的形式还是我应该简单地假设参数是在没有前导空格的情况下传递的?

最佳答案

使用 strip功能:

define FOO
# ...
/home/user/dir/bin/$(strip $(1))
endef

详情见 Text Functions .正因为如此,并避免使用 strip在任何地方,在向函数传递参数时,最好避免逗号后的空格。

关于makefile - 从传递给用户定义函数的参数中去除前导空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13516149/

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