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