免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3633 | 回复: 6
打印 上一主题 下一主题

关于总线错误的问题,求助!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-22 22:38 |只看该作者 |倒序浏览
本帖最后由 thelordsaves 于 2012-03-22 22:41 编辑

看到有资料上说,如果访问的地址不满足地址对齐要求会发生总线错误,于是自己写了一个程序测试

#include <stdio.h>

typedef struct tagTEST
{
    unsigned short s1;
    unsigned short s2;
} TEST_S;

int main()
{
    int i = 0;

    for ( ;; )
    {
        TEST_S test;
        test.s1 = 65535;
        test.s2 = 0;
   
        char *pst = (char *)test;
        pst = pst + 1;
        unsigned char s3 = *(unsigned short *)pst;//通过这两步骤,让其地址不再是偶数的

        printf("%u\r\n", s3);
    }

    return 0;
}

这个死循环一直跑的都很正常,标记为红色的地方为什么不会出现使用unsigned short访问奇数地址的总线错误?

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
2 [报告]
发表于 2012-03-23 08:46 |只看该作者
你要用PowerPC、UltraSparc等CPU,Intel的X86不会因此出错

论坛徽章:
0
3 [报告]
发表于 2012-03-23 13:48 |只看该作者
这个跟CPU相关。你弄到ARM上,肯定会挂。

论坛徽章:
0
4 [报告]
发表于 2012-03-24 11:42 |只看该作者
能详细讲讲原因吗?回复 2# hellioncu


   

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
5 [报告]
发表于 2012-03-24 20:16 |只看该作者
thelordsaves 发表于 2012-03-24 11:42
能详细讲讲原因吗?回复 2# hellioncu


CPU架构的问题,大概risc的会出错,cics的不会

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
6 [报告]
发表于 2012-03-24 20:25 |只看该作者
本帖最后由 smalloc 于 2012-03-24 20:32 编辑

没说一定会出错吧,有的处理器产生一个异常,然后用异常程序解决,所以应用程序中可能看不出来
人家说的总线错误是IO总线,没说是内存。

论坛徽章:
0
7 [报告]
发表于 2012-03-24 22:12 |只看该作者
我看到ARM上,这种情况就是错了,无异常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP