Я использую графическую программу в Turbo C ++ с использованием DosBox в 64-разрядной версии Windows 7.Теперь я хочу использовать графический драйвер 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
цветами.