我在Mac OS X上的Snow Leopard下运行GCC 4.2.1。我想用它来编译我15年前写的一些旧的C/C++ DOS游戏,以便我可以在下面运行它们DosBox http://www.dosbox.com。为此,它们显然需要编译为 DOS 可执行格式,谁能告诉我如何使用 GCC 来做到这一点?
Thanks!
DOSBox 在仿真下运行 16 位 x86 实模式代码。 OSX 10.6 上的常规 GCC 编译器针对 OSX 操作系统和 32 位 x86 保护模式,因此您无法使用它来构建在 DOSBox 中运行的代码。
您可以做的是在 DOSBox 本身中运行 DOS 编译器。DJGPP http://www.delorie.com/djgpp/是 GCC 的 MS-DOS 端口,但它生成针对 DPMI 子系统的 32 位保护模式代码。我不清楚 DOSBox 是否支持 DPMI,但我想它是支持的,并且 DJGPP 本身就在DOSBox 兼容性列表 http://www.dosbox.com/wiki/Software,因此人们可以想象,如果它生成的代码没有对模拟硬件做任何异常的事情,那么它也可以运行。
Borland Turbo C http://www.dosbox.com/wiki/Software:Borland_Turbo_C也在兼容性列表中,并且TC 2.01 http://edn.embarcadero.com/article/20841是合法且免费的。其他版本可以在其他地方下载,但我怀疑这种分发的合法性。
然而,更强大的解决方案可能是在 OSX 上托管的虚拟机中安装正版 MS-DOS 或 DOS 兼容操作系统,使用虚拟盒子 http://www.virtualbox.org/。如果您没有 MS-DOS 的副本,您可以尝试FreeDOS http://www.freedos.org.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)