标题: 有没有DJGPP的编程高手?帮忙看看。
[打印本页]
作者: savling
时间: 2003-6-8 00:00
标题: 有没有DJGPP的编程高手?帮忙看看。
最近用DJGPP编了一个比较大的图形程序,刚运行时一切正常(包括浮点运算),但运行一段时间后,就会出现无法访问协处理器的异常,出现异常的运行时间不定,但出现异常时IP的值都是一样的,程序终止时显示CS和SS的选择子均为无效。
机子配置:CPU:Cyrix MMX-S 233
内存:128M
硬盘(电子盘):32M
哪位大侠帮忙分析一下是什么问题,我弄了近一个月,没有半点头绪。
3X
[此贴子已经被作者于2003-6-8 17:03:40编辑过]
作者: Dark-Destroy
时间: 2003-6-8 00:00
要不要換Intel的處理器試試~
作者: savling
时间: 2003-6-8 00:00
呵呵,因为产品已经定型,所以换处理器基本上是不可能的。:)
有没有别的办法?
作者: ko20010214
时间: 2003-6-8 00:00
就这样(简短)的信息?别人想帮忙都帮不上。
作者: Wengier
时间: 2003-6-8 00:00
请具体说一下吧。
作者: savling
时间: 2003-6-8 00:00
Coprocessor not available at eip=000011f7
eax=0000030c ebx=00001000 ecx=f00a90f8 edx=000003cf esi=00000054
edi=00092b38 ebp=00112a08 esp=0000236e program=c:\cncsys\cncsys.exe
cs: sel=002b invalid
ds: sel=00af base=10000000 limit=ffffffff
es: sel=00af base=10000000 limit=ffffffff
fs: sel=00bf base=00000000 limit=0010ffff
gs: sel=00bf base=00000000 limit=0010ffff
ss: sel=0033 invalid
APP stack:[00112b38..00092b38] Exceptn stack: [00092a8c..00090b4c]
以上是程序异常退出时在屏幕上显示的全部信息,其中CS和SS的值有点奇怪,在正常运行时按CTRL+BREAK退出时显示的值如下:
cs:sel=00a7 base=10000000 limit=0012ffff
ss:sel=00af base=10000000 limit=ffffffff
有点不明白的是,我的内存是128M,硬盘也就32M,为什么代码段的基地址能为0x10000000 (即256M)?
每次程序退出时,eip的值都是000011f7
麻烦大侠帮忙看看,万分感谢啊。:)
作者: savling
时间: 2003-6-9 00:00
详细信息在上面,请帮忙看看。
谢谢!
作者: Wengier
时间: 2003-6-9 00:00
有两种可能:
1:程序本身编得可能有点错误;
2:所用的DJGPP的版本太旧,可以更新一下。
作者: savling
时间: 2003-6-9 00:00
1,程序在PII350的机子上运行没有问题,不知道这是不是可以排除程序本身的问题;
2,我用的DJGPP版本是2.01,不知道最新版本是多少?哪儿有下?
作者: Wengier
时间: 2003-6-9 00:00
在这儿下载DJGPP的最新版吧:
http://www.delorie.com/djgpp/
作者: fsblm
时间: 2006-2-18 10:17
可能是你反复调用读图形函数,以至内存溢出。