DSP

局部变量声明后最好立即初始化

2019-07-13 16:55发布

 今天解决Win下仿真程序与DSP上实际程序的差异问题。两者代码一模一样,但是新增加的函数总是不起作用。还以为区分易混淆字符的函数本身失效,一张一张的检查,发现没有问题。只好跟踪错误生成过程的日志,发现居然没有对标志位FLAG赋值,也得到了跳出循环所需之值,再往上查,发现DSP里声明后的默认值跟随之前重名变量的最终值。不再是假设的0,而变成1了。难怪并没有进入赋值分支,但是值仍然为1。有种方法可以以后避免这种情况。(1)声明后立即初始化;(2)初始化的值最好不要是任何有效值(如正整数值或是0);