4

私はこれについてグーグル全体を見てきましたが、明確な答えが得られませんでした..単純なHello Worldアプリケーションを作成し、msdosの下で実行しようとしています(これは、このあたりにある古いリグにインストールします)。

しかし、まず最初に、通常のコンソール アプリケーションをコンパイルし、それを dosbox にドロップしてテストしようとしましたが、動作しません。無効であるとだけ言っています。だから私はそれをコンパイルするために何か他のものが必要だと思います。これは、自分のコードを msdos 環境でビルドする義務があるということですか? これが事実であるとしても、これを行う方法がまったくわかりません.msdosのダミーのようなものです..

誰かが私のケースに光を当てることができれば、私はとても感謝しています!

PS: 私は 64 ビット システムを実行しています。

4

5 に答える 5

4

DOS 用の無料のDJGPPコンパイラを使用できます。
DJGPPの使用に関するドキュメントは次のとおりです。

于 2012-10-09T18:43:36.737 に答える
3

Windowsで実行されているコマンドプロンプトではなく、実際のDOSを意味していると思います。

DOS は 16 ビット OS であるため、16 ビット バイナリを生成できるコンパイラが必要です。Windows コンソール アプリケーションは 32 ビットなので、DOS では動作しません。コードを DOS 環境でビルドする必要はありません。必要なのは適切なコンパイラだけです。

コンパイラについては、OpenWatcomを確認してください。

于 2012-10-09T18:45:08.337 に答える
2

Microsoft Visual C++ 1.52 は、16 ビット コードのコンパイルをサポートする Microsoft C++ コンパイラの唯一の入手可能なバージョンです。

http://social.msdn.microsoft.com/forums/en-US/Vsexpressvc/thread/cfc848e8-a797-42a5-8537-892cfc234123

16 ビット COM ファイルを生成する古いコンパイラを見つける必要があります。

于 2012-10-09T18:46:25.437 に答える
1

64ビットシステムで実行すると問題になる可能性はありますか..

はい、64 ビット Windows は 16 ビット プログラムを実行できません。MS-DOS または 32 ビット Windows システムで仮想 PC をインストールすると、仮想 PC は 16 ビット プログラムを実行できます。

質問を編集して、64 ビット Windows を使用していると言う必要がありますか?

于 2012-10-11T03:44:34.360 に答える
0

最新バージョンの Windows でコンソール アプリをコンパイルし、それを古い DOS ボックスに単純にコピーしようとしているようです。問題は、DOS が前方互換性がないことです。Windows 7 でコンパイルされたプログラムは、Windows より前のバージョンの DOS では実行できません。最も簡単な解決策は、DOS ボックス自体でプログラムをコンパイルすることです。あるいは、新しいマシンで開発したい場合は、プログラムを実行したい OS を対象とするクロスコンパイラを入手する必要があります。

于 2012-10-09T18:43:55.100 に答える