今日用VC6.0调试图论例程时,遇到了奇待的事件:程序竟然在某一函数的中间(没有return 语句,将准备进入一个for循环)时返回了!搞了我n久都搞唔掂,包括重新建立workspace、重新打开文件(我用了多文件的组织方式)、重新编译、连接文件都不奏效,无奈之下,突然想起出问题的文件最近编辑过,新增了两行,于是将debug文件夹删除并重新编译,才出现正确的运行结果!
分析:估计是发生了源文件(cpp)与目标文件(obj)版本不一致的问题,但VC的时间戳检查方式因为某种原因并没有检查出来。当重新编译的时候,VC跳过了该文件的编译。
呢个故事嘅教训系,在VC6.0(不知VC8有没有这个问题)多文件组织的情况下,可能会出现cpp与obj版本不一致的错误,特征是程序执行顺序、结果与源文件箭头指示的不一致。解决办法是将debug文件夹整个删除,再重新编译。
---
本文章使用开源内容管理kicoy发布
posted on 2006-07-06 18:45
踏雪赤兔 阅读(205)
评论(0) 编辑 收藏 引用 所属分类:
玩转编程