程序停止工作-图形.h

Program stops working - graphics.h

本文关键字:图形 停止工作 程序      更新时间:2023-10-16

我创建了一个程序来绘制一个矩形,但是一旦它被启动,一个窗口弹出并说:"不幸的是,程序已经停止"。为什么会发生这种情况?我该怎么做才能修好它?

#include <iostream>
#include <graphics.h>
int main() {
initwindow(500, 300);
getch();
rectangle(200, 100, 200, 100);
closegraph();
}

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

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

就像OpenGL, Direct3D, SDL等有一个初始化函数,华大基因有InitGraph(),你必须使用,甚至画一个简单的点!

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

  1. 检查你的代码与一些工作的例子有很多在这里在所以
  2. 检查BGI驱动位置(旧的MS-DOS只支持paths+filename,最多66字符!!)
  3. 尝试在兼容模式下运行应用程序(MS-DOSW9xXP)
  4. 替换旧的16位Borland BGIWinBGI模拟器
  5. DOSBox或任何MS-DOS模拟器
  6. 中运行应用程序