这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » VXWORKS,NUCLEUS,keil,for,arm,01a,ccd,135

共2条 1/1 1 跳转至

,VXWORKS,NUCLEUS,keil,for,arm,01a,ccd,13581980230, 结构体首地址定义到外部某个地址出错

院士
2006-09-17 18:14:16     打赏
,VXWORKS,NUCLEUS,keil,for,arm,01a,ccd,13581980230, 结构体首地址定义到外部某个地址出错



关键词: VXWORKS     NUCLEUS     135819802    

院士
2006-12-22 22:43:00     打赏
2楼
问 typedef struct temp
{
    UC i;
};

temp temp1 = *((volatile temp *)(0x00));

temp1.i=0xaa;

这样使用编译就出错,有哪位高手知道为什么啊? 1: re你的程序本身就不对呀。 :-(

temp temp1 = *((volatile temp *)(0x00));
上面这个是什么意思? 2: 这样如何?typedef struct
{
    UC i;
}temp;

temp temp1 = *((volatile temp *)(0x00));

temp1.i=0xaa;
3: reincorrect. :-( 4: re这样呢:


volatile temp *temp1= ((volatile temp *)(0x00));
5: 下次最好把你的编译错误提示贴上来。。。。 6: 用宏,特别是51,效率差很多typedef struct
{
    UC i;
}temp;

#define  P_XXX    ((volatile temp *)0) 7: 一般是这样用typedef unsigned char UC;

typedef struct tagTemp
{
    UC i;
}TEMP,PTEMP;
    
TEMP temp1 = {0};  //初值必须是常量,编译时确定
temp1 = *((volatile TEMP *)(0x00));
temp1.i=0xaa;  8: 掉了个*号。不过这里没用到,还是补上掉了个*号。不过这里没用到,还是补上
typedef struct tagTemp
{
    UC i;
}TEMP,*PTEMP;
9: 这样吧!!typedef struct temp
{
    UC i;
};

struct temp temp1 = *((volatile temp *)(0x00));

temp1.i=0xaa;

少了个struct吧。
10: 晕晕,看错了,见笑了!

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]