LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 987|回复: 4

两份源码文件md5相同 居然编译后 原来头文件定义被改...

[复制链接]
发表于 2011-9-30 00:36:08 | 显示全部楼层 |阅读模式
语句很简单就是模仿printf实现清空一行的文字 并且设置背景色为蓝色 文字颜色为灰色
两份文件都是这个for循环
但是其中一个只能更改一半背景色(是不是刚好80/2=40个字符我没有仔细数)
连MD5文件都是一样样的哦 真是匪夷所思

volatile char *pp;       
//注SCREEN_ADR是0xb8000,TITLE_WIDTH=80
for(i=0, pp=(char *)(SCREEN_ADR+160); i<TITLE_WIDTH; i++) {
                *pp++ = ' ';
                *pp++ =  0x17;
        }
我加断点发现就是这句for循环出的问题
后来将*pp++ = ' ';
改成
*pp++ = '-';
就好了
然后再改回空格也好了
真是让我疑惑
希望常常编译的兄弟们分享经验
谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2011-9-30 01:14:57 | 显示全部楼层
通过插入debug语句显示i和TITLE_WIDTH
发现原来是两份文件夹的头文件test.h的TITLE_WIDTH定义的不同
一个是28一个是80 所以...
电脑是不会骗人的....呵呵
请求删贴
回复 支持 反对

使用道具 举报

发表于 2011-10-2 11:09:46 | 显示全部楼层
刪帖就不必了,就當經驗分享給別人吧。 :)
回复 支持 反对

使用道具 举报

发表于 2011-10-2 16:22:55 | 显示全部楼层
曾发生过把程序换个地方就运行不正确.
后发现是发生错误的那个目录里面有个错误的配置文件.
回复 支持 反对

使用道具 举报

发表于 2011-10-7 00:17:24 | 显示全部楼层
标记一下,多谢分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表