我正在使用 Windows 7 64 位上的 DosBox 在 Turbo C++ 中运行图形程序。现在,我想IBM3514
在高分辨率模式下使用图形驱动程序 ( IBM3514HI
)。因此,我编写了以下基本程序来测试它:
#include <graphics.h>
#include <iostream.h>
void main() {
int gd = IBM3514, gm = IBM3514HI, e;
initgraph(&gd, &gm, "C:\\TC\\BGI");
if (e = graphresult()) {
cout << grapherrormsg(e);
}
cleardevice();
rectangle(100, 100, 300, 300);
cin.get();
closegraph();
restorecrtmode();
}
现在,程序编译并运行,没有任何错误。但是,initgraph
函数调用不会初始化图形模式。graphresult
的返回值为0
。因此,没有发生错误。然而,该程序仍以文本模式运行。闪烁的下划线可见,矩形未绘制。
我检查了我C:\TC\BGI
的文件夹并且该IMB3514.BGI
文件存在。因此,我假设它确实加载了图形驱动程序。然而,我无法弄清楚为什么程序不能在图形模式下执行,甚至会抛出错误。但是,如果我使用默认设置,它工作得很好:int gd = DETECT, gm;
任何关于为什么我的程序不起作用的解释将不胜感激。请尝试提供解决此问题的方法。我真的很想在有颜色的1024x768
屏幕上画画。256