gpt4 book ai didi

c - 在编译时构建静态数组

转载 作者:行者123 更新时间:2023-12-05 04:33:30 25 4
gpt4 key购买 nike

我有几个大型静态数组,用于资源受限的嵌入式系统(小型微 Controller 、裸机)。在项目过程中偶尔会添加这些,但都遵循相同的人口数学公式。我可以制作一个 Python 脚本来在编译之前生成一个包含所需数组的新 header ,但最好让它在预处理器中发生,就像你在 C++ 中使用模板元编程一样。在 C 中有没有相对简单的方法来做到这一点?我已经看到了仅使用预处理器来获得控制结构(如 while 循环)的方法,但这对我来说似乎有点不自然。

下面是一个这样的映射的例子,它是 Python 中 arctan 的近似值,其中参数 a 用于确定数组的长度和值,并且目前以从大约 100 到大约 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

最佳答案

Is there any relatively easy way to do this in C?

没有。

坚持使用 Python 脚本并将其合并到您的构建系统中。使用其他脚本生成C代码是正常的。这比一百万行 C 代码要容易得多。

看看 M4 或 Jinja2(或 PHP)——这些宏处理器允许在同一文件中与 C 源代码共享代码。

关于c - 在编译时构建静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71396438/

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