请教一个关于在IAR下指针的问题如下:
int *p1,*p2,*p3;
char temp[8];
p1 = (int *)&temp[0];
p2 = (int *)&temp[4];
/**调试的时候上面两句通过*/
p3 = (int *)&temp[6];/*这一句直接卡死*/
请问朋友们这是什么情况?
赋值的时候不至于卡死吧,顶多字节不对齐,在使用的时候出现问题。
回复 沙发lcofjp 的帖子
现在就是这个情况,郁闷的
回复 板凳馨曦 的帖子
不知道卡死是什么情况,可以单步汇编,不可能不执行指令了吧。
int *p1,*p2,*p3;
char temp[8];
char str[4];
p1 = (int *)&temp[0];
p2 = (int *)&temp[4];
memcpy(str,&temp[6],2);
p3 = (int *)&str[0];
这样就通过了,
回复 4楼lcofjp 的帖子
int *p1,*p2,*p3;
char temp[8];
char str[4];
p1 = (int *)&temp[0];
p2 = (int *)&temp[4];
memcpy(str,&temp[6],2);
p3 = (int *)&str[0];
这样就通过了,