gpt4 book ai didi

makefile - 如何在Makefile中编写循环?

转载 作者:行者123 更新时间:2023-12-03 04:10:09 24 4
gpt4 key购买 nike

我想执行以下命令:

./a.out 1
./a.out 2
./a.out 3
./a.out 4
.
.
. and so on

如何在Makefile中将这个东西写成循环?

最佳答案

如果您使用的是 UNIX 类型的平台(我假设您使用 ./a.out),则以下内容将执行此操作。

for number in 1 2 3 4 ; do \
./a.out $$number ; \
done

测试如下:

target:
for number in 1 2 3 4 ; do \
echo $$number ; \
done

产生:

1
2
3
4

对于更大的范围,请使用:

target:
number=1 ; while [[ $$number -le 10 ]] ; do \
echo $$number ; \
((number = number + 1)) ; \
done

这将输出 1 到 10(包括 1 和 10),只需将 while 终止条件从 10 更改为 1000,即可获得评论中所示的更大范围。

嵌套循环可以这样完成:

target:
num1=1 ; while [[ $$num1 -le 4 ]] ; do \
num2=1 ; while [[ $$num2 -le 3 ]] ; do \
echo $$num1 $$num2 ; \
((num2 = num2 + 1)) ; \
done ; \
((num1 = num1 + 1)) ; \
done

制作:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
4 1
4 2
4 3

关于makefile - 如何在Makefile中编写循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1490949/

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