我通常使用 VS,但第一次尝试 cygwin。我正在使用 Windows 7,但在使用 gcc 编译 hello world 程序时,它显示“致命错误:conio.h:没有这样的文件或目录”。
我使用的是 Windows 7,我的系统似乎缺少 conio.h。有人可以告诉我如何解决这个问题。
谢谢!!
在 Cygwin 中不存在任何名为conio.h
!的头文件。此外,您也不需要它,因为它会在不使用的情况下自动为您保留屏幕,getch()
并且您在 Cygwin 中clrscr()
确实拥有!system("clear")
conio 不是标准库的一部分,您不能期望它可以跨平台使用,甚至可以在同一平台上的编译器之间使用。
作为非标准名称,Borland 和 Microsoft 都使用 conio 这个名称来表示具有不同 API 的库 - Microsoft 的规模要小得多。因此,出于这个原因,您可能会为了便携性而避免使用它。
conio 不在 Windows 上不是问题,Cygwin 是一个 POSIX API 层和工具链,用于在 Windows 上构建和运行 POSIX 代码。它提供的库独立于 Visual Studio 提供的库。
有许多解决方案,包括:
如果您有很多使用 conio 的遗留代码,则第二种解决方案可能很有用,但如果您只是想阻止控制台窗口关闭,则这种解决方案就有点过头了。为此,您可以getchar()
在任何情况下使用并接受您必须按 Enter 而不是任何键。
如果您使用 Cygwin 只是为了能够在 Windows 上使用 GCC,则最好使用 MinGW/GCC。这使用 Microsoft 的 C 运行时而不是 GNU,以及 Win32 API 而不是 POSIX。