【发布时间】:2019-04-30 16:34:30
【问题描述】:
出于某种原因(与性能测量有关),我需要重复一个代码段 1000 次(1024 次也可以),但没有“for”或任何其他循环。
显然,我很可能会编写一个如下所示的宏:
#define RUN_1000_TIMES(x) \
x \
x \
x \
...
... /* (999+1 times the same line) */
...
x \
x
...然后将该宏应用于我的代码段。
但是还有比 1000 行长的宏更优雅的解决方案吗?
【问题讨论】:
-
你可以把它写在一个循环中并强制编译器展开循环。
-
@CacahueteFrito 这将是一个合理的答案 - 但是,你是怎么做到的?
-
@CacahueteFrito 我怀疑你能否说服理智的编译器展开 1000 次迭代的循环。
-
@EugeneSh。看我的回答。我不认为编译器可以选择不服从,但我不确定。
标签: c c-preprocessor preprocessor