struct Harmonic {
double harmonic[50];
}g_squ[6][8];
因为我每次循环要处理8路信号得到50次谐波数据,共处理6次后取平均值。
因此就定义了如上的全局变量,但在.h文件extern时,误写为
extern struct Harmonic {
double harmonic[50];
}g_squ[6][50]
之所以debug与release不同,我想可能是release对代码的优化、检测改变了代码。
但根本上还糊涂,因为误定义的数组更大而不是更小,代码里不可能有越界之类的错误,
怎么会造成结果不同呢?
发现这个错误改后,本认为对所提现象无关。不过,还好,现在debug与release结果一致了
随便问下,我感觉自己定义的数据struct结构很累赘,想过要改为
struct Harmonic {
double harmonic[8][50];
}g_squ[6]; 但感觉差不多
哪位有更好的建议?谢谢!
让大家误跟我也迷惑了一阵,其实是个低级错误,抱歉!