进一步阅读

进一步阅读

我是 ubuntu 操作系统的初学者。在终端框中,我尝试使用 Visual Studio 运行简单的 C 编程代码,它向我显示 ***

致命错误:conio.h:没有这样的文件或目录


那种错误。那么,我应该怎么做才能解决这个错误?

答案1

该头文件来自旧的 MS-DOS 开发接口。您可以(几乎)将其替换为curses.h.欲了解更多详细信息,您可以查看这个答案

conio.h是旧的 MS-DOS 编译器中用于创建文本用户界面的 C 头文件。针对非 DOS 操作系统(例如 Linux、Win32 和 OS/2)的编译器提供了这些函数的不同实现。

将为#include <curses.h>您提供几乎所有提供的功能conio.h

nucurses需要首先安装

在基于 deb 的发行版中使用

sudo apt-get install libncurses5-dev libncursesw5-dev

答案2

你所做的就是停止尝试编写 MS/PC-DOS 程序。您正在使用完全不同的操作系统。

conio.h是包含 C 语言与 DOS API 绑定的标头之一。使用它的程序是 MS/PC-DOS 程序。

人们会告诉你诅咒“做同样的事情”。实际上并非如此,因为 DOS 控制台 API 与基于 POSIX 终端 I/O 构建的全屏 TUI 具有完全不同的范例。从一个到另一个的移植是不是就像更改头文件一样简单。 (OS/2 和 Windows NT 的编译器中存在兼容性标头,因为这些操作系统具有“控制台”I/O 范例,可以更好地映射到 DOS 控制台 API。)这还没有考虑到存在两个这样的事实:旧 DOS 代码、Borland/Watcom 和 Microsoft 中使用的控制台 API 风格。

正确的改变就是简单地忘记 30 年前的 DOS API,并编写一个使用实际操作系统 API 的程序:POSIX 终端 I/O 和您选择的 TUI 库,X11 和您选择的工具包,等等。

进一步阅读

相关内容