以下代码片段:
生成编译器错误,指出初始化值不是常量。
有一些数据数组(可以假定大小固定),还有几个与它们相关且相对简单的依赖数组,如果在编译时而非运行时预计算这些数组将非常有用。但由于源数据可能需要更改,因此我希望避免手动重新计算依赖数组。
我想可以制作一些实用程序来生成.h文件,但现在我很好奇——是否有一种方法可以在C预处理器中做到这样的事情(仅输入const数组的数据一次,但让其他多个const数组依赖于它们),而不是像定义每个源数组的每个元素的预处理器宏那样繁琐?
附言:如果有一些预处理器库可以做到这样的事情,我真的很感激提供代码示例。
如下所示:
static const double foo[3] = { 1.0, 2.0, 3.0 };
static const double bar[3] = { foo[0]*foo[0], 3*foo[1], foo[2]+4.0 };
生成编译器错误,指出初始化值不是常量。
有一些数据数组(可以假定大小固定),还有几个与它们相关且相对简单的依赖数组,如果在编译时而非运行时预计算这些数组将非常有用。但由于源数据可能需要更改,因此我希望避免手动重新计算依赖数组。
我想可以制作一些实用程序来生成.h文件,但现在我很好奇——是否有一种方法可以在C预处理器中做到这样的事情(仅输入const数组的数据一次,但让其他多个const数组依赖于它们),而不是像定义每个源数组的每个元素的预处理器宏那样繁琐?
附言:如果有一些预处理器库可以做到这样的事情,我真的很感激提供代码示例。