程序停止工作 - graphics.h

Program stops working - graphics.h

我创建了一个绘制矩形的程序,但是一旦启动,就会弹出 window 并显示:"Unfortunately, the program has stoped"。为什么会这样?我能做些什么来修复它?

#include <iostream>
#include <graphics.h>

int main() {
initwindow(500, 300);
getch();
rectangle(200, 100, 200, 100);
closegraph();
}

那是因为你是 运行ning 旧的 16 位 MS-DOS 应用程序最有可能在 Win7 或更新的 OS 这不是一个好主意(并且在 x64 位上甚至不再工作)。即使您使用的是 32 位编译器,Borland BGI 也是 16 位的。问题的另一种可能性是错误的 gfx BGI-driver ,我没有看到任何地方的初始化(我错过了 initgraph 的使用,但更新的确实使用了 BGI 所以我可能是错的)。那么怎么办:

  1. 用一些工作示例检查你的代码SO
  2. 上有很多
  3. 检查BGI 驱动程序位置(旧MS-DOS 仅支持paths+filename 66 个字符!!!)
  4. 尝试 运行 您的应用程序处于兼容模式(MS-DOSW9x经验值)
  5. 将旧的 16 位 Borland BGI 替换为 WinBGI 模拟器
  6. 运行 您的应用程序在 DOSBox 或任何 MS-DOS模拟器

您还没有使用 InitGraph() 启动图形引擎

http://www.programmingsimplified.com/c-graphics-programming-tutorial

就像OpenGL、Direct3D、SDL等都有初始化函数一样,华大也有InitGraph(),连画一个简单的点都必须要用到!