怪怪怪!(100分)

  • 主题发起人 主题发起人 lfq
  • 开始时间 开始时间
L

lfq

Unregistered / Unconfirmed
GUEST, unregistred user!
我在tubro pascal7.0环境下开发的一个DOS下的程序mmm.exe,
五年来一直运行的很好,最近单位新购了机器,却发现此程序在
较高主频的机器上无法运行,表现如下:

1.在奔腾233以下的机器上运行正常;
2.在pII350以上的机器上运行均报告被零除错误;
3.把pII350的CPU内部cache关闭后,运行正常;
4.在Pii350的机器上,运行一个用批处理反复执行此程序,批
处理的内容如下:
:1
mmm
goto 1
然后拼命打开/关闭其它大型程序,则mmm.exe有时可正常执行
5.在Pii400的机器上再使用上述方法却不管用;

看来,此程序确实和cpu速度有关,此程序很重要,每天都要
使用,糟糕的是程序的源码早就丢了(一次硬盘事故),不知那位大
虾有高招解决此问题?
 
hehe,这下可麻烦了,好象有一个程序叫cpu speed killer可以站用大量的Cpu时间,
也许可以试试.
 
看来你又要用旧机子了
 
;hehe, 记得老师曾让我们用汇编来写钢琴程序,我在实验室的机器(486)上打了个稿,
然后copy回寝室,发现在寝室里怎么运行都不对,想了一下,原来是因为我程序
用到了类似于wait()的函数,其是根据cpu空跑来估算时间的,结果自然因为
机器的不同而效果不一样了.我想你的原因也应该是类似吧.
 
印象中看到过一篇文章,说borland的以前的编译器编译的程序在新机器上有问题,
可是不得其详,请知其详者发言!
 
到DELPHI下重新编译一下?
 
原来有这种吃软不吃硬的程序。少见。
 
四年前我在386上用pascal 6.0写的程序,现在PII上也运行得很好。
你的程序有问题!解决办法:
(1)在正常的机器上运行;
(2)找一个Pascal的反编译程序,反编译后找出问题重新写过。
 
我知道.
TP6有一个BUG,编译出来的程序在PII机器上面会出错.
borland曾经公布过一个fix,但是年代久远我搞忘了,可以到
borland站点上找一找.
 
谢谢cAkk的提醒,我在borland的站点找到了修正程序,不仅有修正exe文件的也有修正编译环境的.
该问题的原因是crt单元引起的,所有在程序中使用了crt单元的程序在快速电脑上
运行都可能出问题,好像是在crt单元设置显示器时因主频太快引起的.
 
后退
顶部