首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

CodeWarrior for hc08 v5.1编译时不分配变量地址!!!

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]
因为你只对这个变量赋了个值,并没有进行任何有意义的操作,所以编译器把它优化掉了。
海纳百川  有容乃大
说的很对!,真是高手!!!!佩服!!!佩服!!!佩服!!!佩服!!!佩服!!!
返回列表