我使用Turbo C ++编译器在C中制作了一个乒乓球程序。但问题是在编译程序后,运行exe文件时出现错误,如下所示:
所以我发现这个错误可能是因为我使用的是64位操作系统,然后我尝试在32位操作系统上运行它,错误是这样的:
我能做什么才能使我的程序兼容,并且我可以直接运行exe文件,而不是总是执行程序。
答案 0 :(得分:3)
Turbo C是一个用于DOS的16位编译器,它可以生成16位可执行程序。 64位版本的Windows不支持运行16位DOS程序,因为x64处理器在virtual 8086 mode中运行时不支持long mode。要在64位Windows中运行DOS程序,您需要使用DOSBox这样的模拟处理器的东西,这样它就不需要真正的处理器来支持虚拟8086模式。
32位Windows确实支持运行16位DOS程序。目前还不清楚为什么WinRAR会参与您在32位Windows上运行程序的尝试。尝试从命令提示符运行程序,以避免任何可能正在调用WinRAR的shell扩展(它错误地认为是自解压存档)。
然而,最好的办法是使用现代编译器。 Turbo C基本上已经过时了,因为DOS基本上已经过时了。有许多免费的C / C ++开发工具可用于现代32位和64位计算机,例如Microsoft的Visual Studio Express和Code::Blocks。