Board logo

标题: CodeWarrior for hc08 v5.1编译时不分配变量地址!!! [打印本页]

作者: dchuser    时间: 2007-5-29 09:48     标题: CodeWarrior for hc08 v5.1编译时不分配变量地址!!!

请教版主:
我在用CodeWarrior for hc08 V5.1写程序时,在子程序xxx()中定义了一个变量x,编译时出现如下错误:

Warring: C5917: Removed dead assignmend!

而用debug调试时间,在data窗口中的确也发现变量x未给出堆栈地址,
提示如下:
X unsigned char


请问这是什么原因? 程序如下:

#include /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */

void xxx(void)
{
unsigned char x;

x=1


}

void main(void)
{
unsigned char i;

i=88;

EnableInterrupts; /* enable interrupts */
/* include your code here */
xxx();

for(;;) {
__RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}








[glow=255,red,2]文字[/glow]
作者: strongchen    时间: 2007-5-29 13:52

因为你只对这个变量赋了个值,并没有进行任何有意义的操作,所以编译器把它优化掉了。
作者: dchuser    时间: 2007-5-29 14:05

说的很对!,真是高手!!!!佩服!!!佩服!!!佩服!!!佩服!!!佩服!!!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0