c++ - 大多数现代版本的 Linux 和 C/C++ 编译器是否已删除对 graphics.h header /库的支持?

标签 c++ c bgi

<分区>

为了在 Windows 和 Ubuntu 中编译直线和圆绘图代码,我花了几周的时间。

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

window :

   #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;
}

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

最佳答案

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

它基本上是 1990 年代初期的标题(那是 26 年前!!)。它从未成为我们今天定义的 C++ 的一部分(即 ISO 标准 C++,创建于 1998 年),并且从未与任何其他编译器一起提供,例如 GCC、Clang 或 Visual Studio。

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

这就是为什么我希望某些国家的教学机构停止坚持使用过时和过时的技术,将其称为“C++”,甚至懒得向学生解释情况。在我看来,这是不负责任和近乎欺诈的行为。

关于c++ - 大多数现代版本的 Linux 和 C/C++ 编译器是否已删除对 graphics.h header /库的支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36532881/

相关文章:

c++ - 为什么分配的二维 int 数组与普通数组具有不同的内存地址序列?

c - 在 Arduino 运行时向其发送命令

c - DDA 算法不为某些坐标绘制线条?

c++ - 无法将‘void (myClass::*)() 转换为 void (*)()

c++ - 将类声明为类的一部分的问题

调用 mktime() 无明显原因返回 -1

c - char** 和 struct 错误(空)

c++ - 使用graphics.h时 undefined reference ?

c++ - 如何解决在开发 C++ 中未定义的对 readimagefile 的引用错误

c++ - 为什么 std::not1() 通过 const 引用而不是值来获取参数?