2010-12-06 28 views
6

Mac OS X上でSnow LeopardでGCC 4.2.1を実行しています。これを使って私が書いた古いC/C++ DOSゲームをコンパイルします15年前に私はDosBoxの下でそれらを実行することができます。これを行うには、明らかにDOSの実行形式でコンパイルする必要があります。誰でもGCCを使ってこれを行う方法を教えてください。Mac OSでGCCを使ってMS-DOS用のCプログラムをコンパイルする(DOSBox)

ありがとうございます!

答えて

4

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は正当に無料で入手できます。他のバージョンがダウンロードのために提供されていますが、私はそのような配布の合法性を疑っています。

もっと堅牢な解決策は、おそらく、VirtualBoxを使用してOSXでホストされている仮想マシンに正規のMS-DOSまたはDOS互換のOSをインストールすることです。 MS-DOSのコピーがない場合は、FreeDOSを試してみてください。

+0

+1ターボC –

2

は、16ビットまたはDOSエクステンダ付き32ビット環境用に書かれた古いDOSゲームはありますか?

16ビットコードの場合、GCCは使用できません。 OpenWatcomまたはDigital Marsを調べるとよいでしょう。両方とも16ビットのDOSサポートを要求しています(ただし、どれがうまく機能するかわかりません)。 Windows VMでコンパイラを実行する必要があるかもしれません(確かにOpenWatcomについては不明なDigital Mars用です)。

DOSエクステンダのツールチェーンをお探しの場合は、上記の両方でも動作すると主張していますが、GCCが動作するようになる場合もあります(DJGPPが役立つかもしれません。 LinuxまたはMac環境からコンパイルされるかどうか)を確認することができます。

関連する問題