导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[pauljoe][求助] ARM编程:关于IAR编译结果



No.99585
作者:pauljoe
邮件:zhou.min@qianlong.com
ID:63009
登陆:1次
文章数:1篇
最后登陆IP:61.48.65.253
最后登陆:2006/11/14 10:02:22
注册:2006/11/9 17:16:18
财富:117
发帖时间:2006/11/14 10:02:22
发贴者IP:61.48.65.253
标题:pauljoe:[求助] ARM编程:关于IAR编译结果的问题
摘要:No.99585[求助] ARM编程:关于IAR编译结果的问题 
struct TIME {
    unsigned char uu;
    unsigned char nn;
};
struct AAA {
    unsigned char a;
    struct TIME aa;
    struct TIME bb;
    unsigned char buf[100];
};
……
void test(struct TIME a)
{
    //sys_trace("%04x, %04x, %04x", a.uu, b.uu, b.nn);
    sys_trace("%04x", sizeof(a.uu));
    sys_trace("%04x", a.nn);
    sys_trace("%04x", sizeof(a.uu));
    //sys_trace("%d, %d, %d, %d", c.uu, c.nn, d.uu, d.nn);
}
int xxxxx(……, struct AAA *stru)
{
……
    test(stru->    aa);

……
}

如上程序
在sys_trace("%04x", a.nn);这里
不管是a.uu还是a.nn都是unsigned char型才对
我用IAR 4.30A编译后的结果却是
   1051          void test(struct AAA a)
   1052          {
   \                     test:
   \   00000000   10B5               PUSH        {R4,LR}
   \   00000002   041C               MOV         R4,R0
   1053              //
   1054              sys_trace("%04x", sizeof(a.uu));
   \   00000004   0121               MOV         R1,#+0x1
   \   00000006   ....               LDR         R0,??DataTable65   ;; `?
    <Constant "%04x">    `
   \   00000008   ........           _BLF        sys_trace,sys_trace??rT
   1055              sys_trace("%04x", a.uu);
   \   0000000C   211C               MOV         R1,R4
   \   0000000E   ....               LDR         R0,??DataTable65   ;; `?
    <Constant "%04x">    `
   \   00000010   ........           _BLF        sys_trace,sys_trace??rT
   1056              sys_trace("%04x", sizeof(a.uu));
   \   00000014   0121               MOV         R1,#+0x1
   \   00000016   ....               LDR         R0,??DataTable65   ;; `?
    <Constant "%04x">    `
   \   00000018   ........           _BLF        sys_trace,sys_trace??rT
   1057              //
   1058          }

   1051          void test(struct AAA a)
   1052          {
   \                     test:
   \   00000000   01B5               PUSH        ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:47毫秒 最大:7276毫秒 查询6次