首页 > 解决方案 > 使用 C 生成文件中的变量

问题描述

我生成了一个 C 文件,其中包含一些数组,它们的大小如下所示:

nor.c(生成的文件)

const float nor[] = {
-0.0972819, 0.906339, -0.4112, -0.056471, 0.340899, -0.938402, -0.284611, 0.269598, -0.919953, 0.04142, -0.149024, -0.987966, 0.12454, -0.702485, -0.700717, 0.0027959, -0.188166, -0.982133 };

const unsigned int nor_size= 18;

当我从我的主文件中调用这个数组时,如下所示:

extern float nor[nor_size];

我遇到了一些错误:不能使用 nor_size 作为 const

如何解决这个问题?

谢谢

标签: arraysc

解决方案


如何解决这个问题?

最好是nor.c文件的生成器也生成相应的nor.h文件

#ifndef NOR_INCLUDE_GUARD
#define NOR_INCLUDE_GUARD

extern const float nor[18];
extern const unsigned int nor_size;

#endif

main.c使用那个 .h 文件

// Rather than
// extern float nor[nor_size];

// Include
#include "nor.h"

还推荐 nor.c 文件的生成器为f每个常量附加一个后缀。


推荐阅读