Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > DevTek GCC toolchian 有点问题
【标  题】:DevTek GCC toolchian 有点问题
【关键字】:DevTek,GCC,toolchian
【来  源】:http://www.cublog.cn/u/14459/showart.php?id=218327

DevTek GCC toolchian 有点问题

Your Ad Here 以前用MontaVista的toolchian编译的好好的bootloader, 用DevTek带的arm-linux就有问题, 而且是莫名其妙。出问题的代码如下:
register int i;
for (i = 0; i < j; i++) ; // j 是运行期变量
这 段代码本意是自循环,达到delay效果。但是用arm-linux编译后, 这段代码死活不能delay(优化选项打开 -O2 -Os, 都试过)。当时就觉得相当奇怪,在尝试延长循环次数和其他方法无效后,只能-S 直接汇编。汇编的结果是这段loop被编译器直接remove掉了。当然不打开优化选项一点问题都没有,但bootloader哪能不优化呀。第一反应是 从编译选项上找问题, 但后来对比DevTek的bootloader, 发现i的声明被volatile修饰而非register后,一切ok。后来去GCC去找原因,至今没什么发现。
结合以前BSP 里的driver bug和如今toolchian的异常,给人一启发:千万别过于依赖别人的东西,需要一些怀疑精神。
从本地下载软件包,快速安装debian [菜鸟经验,上手]:【上一篇】
ioctl 的原子性:【下一篇】
【相关文章】
  • why gcc can link objs with multiple same symbols after ar?
  • gcc 内嵌汇编的学习笔记 I
  • gcc 内嵌汇编的学习笔记 II
  • gcc 内嵌汇编的学习笔记 III
  • gcc 内嵌汇编的学习笔记 IV
  • 用gcc编译c++程序
  • gcc和g++的区别
  • gcc与g++有什么区别?
  • FC下安装gcc找不到kernel-header问题
  • LINUX下的串口测试的GCC程序
  • 【随机文章】
  • 请教iSCSI的target端多用户同时访问的问题
  • Oracle8i中生成创建对象的SQL
  • 做HP-UX技术多年的感悟:IT人士之成功之6大步骤
  • 让redhat linux as3 支持 reiserfs
  • 用NetShare清除默认共享隐患
  • 提高上百万行数据insert的方法
  • XMLHTTP+Javascript+Asp写得聊天室,无刷新实现
  • 我看c#与java
  • 应该了解的垃圾收集机制(一)
  • 在多线程环境下使用HttpWebRequest或者调用Web Service
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.