【发布时间】:2021-04-26 05:41:57
【问题描述】:
我需要定义不同大小的不同数组并将它们定位在闪存中。我在编译时知道第一个元素的值,结束限制值,让我们调用是一个步骤值。比如第一个元素是1,步长是0.9,极限是5。所以我的数组应该是这样的
const my_arr[] = {1.0, 1.9, 2.8, 3.7, 4.6};
你能帮我用 C 预处理器初始化这样的数组吗?
PS:这是针对微控制器的,因此修饰符 const 会将其放入闪存中,而不是 RAM 中
【问题讨论】:
-
预处理器不够完善,无法做到这一点。
-
这个问题很不清楚。你问如何在闪存中放置一个阵列?或者一般如何定义数组?
-
问题与预处理器无关。但这和你工作的环境有很大关系。比如你用的是什么编译器?你是如何构建应用程序的?您对对象和可执行文件中的节(如数据、bss、文本等)了解多少?
-
建议编写一个输出C源代码的程序。
-
@EugeneSh。应该是uC。最简单的解决方案是用您喜欢的语言编写另一个程序来生成这样的代码,并将对该程序的调用添加到您的 makefile。
标签: c preprocessor