我在Mac OS X上运行Snow Leopard下的GCC 4.2.1.我想用它来编译我15年前写的一些旧的C/C++ DOS游戏,这样我就可以在
DosBox下运行它们.为了做到这一点,他们显然需要以DOS可执行格式编译,有谁能告诉我如何使用GCC这样做?
谢谢!
解决方法
DOSBox在仿真下运行16位x86实模式代码. OSX 10.6上的常规GCC编译器针对OSX操作系统和32位x86保护模式,因此您无法使用它来构建在DOSBox中运行的代码.
你可以做的是在DOSBox本身运行DOS编译器. DJGPP是GCC的MS-DOS端口,但它生成针对DPMI子系统的32位保护模式代码.我不清楚DOSBox是否支持DPMI,但我想它确实如此,并且DJGPP本身就在DOSBox compatability list中,所以可以想象它生成的代码如果不做任何与众不同的事情也会运行.模拟硬件.
Borland Turbo C也在兼容性列表中,TC 2.01是免费合法可用的.其他版本提供下载elsewhare,但我怀疑这种分发的合法性.
然而,更强大的解决方案可能是使用VirtualBox在OSX上托管的虚拟机中安装正版MS-DOS或DOS兼容的操作系统.如果您没有MS-DOS的副本,则可以尝试FreeDOS.