在大多数现代版本的Linux和C / C ++编译器中是否删除了对graphics.h头文件/库的支持?

时间:2016-04-10 17:12:52

标签: c++ c graphics

我在几周内挣扎着在Windows和Ubuntu中编译直线和圆形图代码。

我只能编译和运行简单的代码,例如:

视窗:

   #include <graphics.h>

int main()
{ 
   int gd = DETECT, gm;
   int x = 320, y = 240, radius;

   initgraph(&gd, &gm, "C:\\TC\\BGI");

   for ( radius = 25; radius <= 125 ; radius = radius + 20)
      circle(x, y, radius);

   getch();
   closegraph();
   return 0;
}

Linux的:

#include <graphics.h>

int main()
{ 
   int gd = DETECT, gm;
   int x = 320, y = 240, radius;

   initgraph(&gd, &gm, NULL);

   for ( radius = 25; radius <= 125 ; radius = radius + 20)
      circle(x, y, radius);

   getch();
   closegraph();
   return 0;
}

我认为在最新版本的操作系统中已删除对某些元素的支持。请确认。

2 个答案:

答案 0 :(得分:3)

我假设您指的是the <graphics.h> header shipped by Borland for use with their compilers in 16-bit DOS

它基本上是20世纪90年代早期的标题(那是二十六年年前!!)。它已经从未成为我们今天定义的C ++的一部分(即ISO标准C ++,创建于1998年),并且从未与任何其他编译器一起提供,例如GCC,Clang或Visual Studio。 / p>

没有标准的图形工具,但在Linux系统上,您可以使用GNU的 ncurses 库来处理基于控制台的&#34;图形&#34;。 Google或搜索SO以寻找替代方案。

这就是为什么我希望某些国家的教学机构不再坚持使用过时和过时的技术,称之为“C ++”#34;甚至没有费心向学生解释情况。在我看来,这是不负责任和边缘欺诈。

答案 1 :(得分:1)

这是使用Borland图形界面&#34;,这是Borland编译器在MS-DOS上使用的。

原始图书馆已经淘汰了几十年。

有几次尝试支持在Windows上使用名为OpenBGIWinBGI的BGI界面的代码(可能很容易有其他人)。我从来没有尝试过使用它们,所以我不能评论它们的质量,完整性或者除了存在之外的其他任何东西。

最多,我使用这样的库将现有代码移植到新系统。我无法想象今天使用BGI编写新代码,无论该库的质量如何。