我有几个大型静态数组,用于资源受限的嵌入式系统(小型微控制器、裸机).在整个项目过程中,这些数据偶尔会被添加到数据中,但它们都遵循相同的人口数学公式.在编译之前,我可以用Python脚本生成一个新的头,它需要所需的数组,但是在预处理器中发生它更合适,就像你可以用C++中的模板元编程一样.在C语言中有没有相对简单的方法?我已经看到了一些方法,只使用预处理器就可以获得while
个循环这样的控制 struct ,但这对我来说似乎有点不自然.
这里是一个类似于arctan
的映射的示例,在Python中,参数a
用于确定数组的长度和值,当前以从大约arctan
到大约2^14的各种值运行:
def make_array(a):
output = []
for x in range(a):
val = round(a * ((x / a)**2 / (2 * (x / a)**2 - 2 * (x / a) + 1)))
output.append(val)
return output