我想使用 gcc 预处理器编写几乎相同的代码声明 500 次。假设出于演示目的,我想使用宏FOR_MACRO
:
#define FOR_MACRO(x) \
#for i in {1 ... x}: \
const int arr_len_##x[i] = {i};
并打电话FOR_MACRO(100)
将转换为:
const int arr_len_1[1] = {1};
const int arr_len_2[2] = {2};
...
const int arr_len_100[100] = {100};
这不是一个好主意:
虽然原则上是可能的,但使用预处理器意味着您必须至少手动展开循环一次,最终会得到一些任意实现定义的循环深度限制,并且所有语句都将在一行中生成。
最好使用您选择的脚本语言来生成代码(可能在单独的可包含文件中)并将其与您的构建过程集成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)