假设我有一些 C 代码,比如说,printf("A");我如何根据某个编译时参数将它重复 N 次,其中 N 在该编译器参数中传递。例如gcc -D print=N
同样,有没有一种方法可以根据编译时参数/标志传递循环的范围?
只需将其放入循环中:
for (int i = 0; i < print; ++i)
printf("A");
Run Code Online (Sandbox Code Playgroud)
该print符号将被编译器命令行上指定的值(例如-Dprint=5)替换,因此循环运行所需的次数。您可以0通过添加另一个-D定义来使用不同的范围对起始值执行相同的操作。
然而,print这样的宏不是个好名字;惯例是在所有大写字母中使用更长的名称以避免与函数名称等冲突。