请问版主及大家,出现下面问题如何解决?

4219021   2003-4-17 20:44 楼主
请问大家,出现下面问题如何解决?

在msp430f149上,用时间限制版的IAR C 1.26B编程计算几个数的以2为底的幂。
编译提示“warning[35]:Old-style (K&R) type of function declarator" 这个警告性错误看起来是提示用了老版本的C的说明符。
在仿真器中一步一步观察计算结果,发现a[1]--a[5]的结果为1,3,7,15,31,比实际应该的数值小1。
如果在仿真器中直接“运行”的话,a[i]提示Error[63]:Varia××e not active
不知这是怎么回事,如何解决?

#include <math.h>
#include <msp430x14x.h>
void main()
{
int i=0, a[6];
while(i<6)
{
a[i]=pow(2,i);
i++;
}
}

回复评论 (3)

设置问题

project->icc430->code generation->Type checking将Flag  old-style..去勾即可
点赞  2003-4-18 08:03
按照更改后,关于“旧版本”的警告没了,但是
在仿真时出现的2个警告性错误还有:
Too he××y optimization in "test_m" (test_m.c为试验用程序)
warning[30]:Varia××e may not be correctly evalua
warning[13]:No break on program exit

这是什么原因造成的?
尽管是试用版本,但号称功能还是全的,不会是保留了很多吧?
点赞  2003-4-18 08:44

你的这个程序变得不很好

用for语句不是更好吗?你说的现象应该调整优化等级,我试过,没警告.
点赞  2003-4-18 08:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复