6

Windows 7 64 ビットから C コードを DOS 実行可能ファイルにコンパイルできるようにするソリューションを探しています。最近、XP 32 ビットから Win7 64 ビットに更新しましたが、Borland C++ 5.0 コンパイラが動作しなくなりました。tlink.exe 16 ビットを呼び出そうとするとエラーが発生します。XPを搭載した別のコンピューターを持ち込むことは避けようとしていますが、すぐに何か他のことがわからない場合は、それが私の行動方針でなければなりません.

私のターゲットは、FreeDOS を実行する組み込み x86 です。Linux に移行したいのですが、移行にかかる時間はありません。Linux を使用したことがないという学習曲線は別として、私のコードの多くは DOS に依存しており、書き直す必要があります。

変更できるウィンドウ設定があることを願っていますが、これまでの調査では、プロセスにもっと抜本的な変更が必要であると確信しています。私は、Turbo C 2.01、DJGPP、DOSbox を嗅ぎ回ったことがあります...外部からの入力がなければ、これらの路地を進む自信はあまりありません

4

3 に答える 3

3

Virtual XP または VirtualBox を実行し、Borland C++ を内部にインストールします。ところで、いくつかの修正を加えたバージョン 5.02 があります (バージョンが正確に 5.0 の場合)。

于 2015-01-07T23:55:09.367 に答える
3

16 ビット C / C++ 1.52 (32 ビット C / C++ 4.1 cd-rom に含まれています)、または C 8.00 以前のような古い Microsoft コンパイラが見つかった場合は、DOS エクステンダーを使用するか、32 ビットで実行されます。 dos コンソール ウィンドウ。

FreeDOS を使用して Borland コンパイラを実行できないのはなぜですか?

MSDOS を搭載した仮想マシンを作成することもできますが、仮想マシンに MSDOS 6.22 をインストールする方法を見つける必要があります。Microsoft のサポート サイトには、MSDOS 6.22 用の起動可能な ISO ファイルへのリンクがあります。私はまだ元のフロッピーを持っており、フロッピー ドライブを備えた古いシステムのフロッピーから始めました。仮想マシンとの間でファイルをインポート/エクスポートするのは少し面倒です。

これは、Win 7 仮想マシンで動作するように見える、私が使用する config.sys です。このセットアップでのスタック オーバーフローの問題を回避するには、バッファー、スタック、およびファイルを増やす必要がありました。

dos=high,umb
buffers=40,0
files=60
lastdrive=e
shell=c:\command.com c:\ /e:1024 /p
stacks=64,512
switches=/f
device=c:\dos\himem.sys /numhandles:64 /testmem:off
device:c:\dos\emm683.exe ram i=b100-b7ff i=c600-c7ff i=cc00-cfff i=e600-efff frame=d000 a=32 d=128 notr
devicehigh=c:vmadd\cdrom.sys /d:mscd001

これは私が使用する autoexec.bat です (この場合、smartdrv は少し無意味なので、"rem" プレフィックスを付けてコメントアウトしました)。

c:\dos\emm386 auto
lh c:\dos\mscdex.exe /d:mscd001 /m:7
rem lh c:\dos\smartdrv.exe
lh c:\vmadd\mouse.com
set path=c:\dos
set blaster=a220 i5 d1 h5 p330 t6
prompt $p$g
于 2015-01-07T23:51:22.820 に答える
2

コンパイラに関しては、あなたの状況では Open Watcom が最良の選択のようです。FrameworkPascal (旧バージョンの Watcom で作成) は 32 ビット エクステンダーを提供します。FreeDOS 仮想マシンの作成に関しては、Microsoft SysInteral からツールを入手してください。VHD を作成するツールが含まれています。VM で FreeDOS を実行すると、VHD を単純に SYS して、どこからでも起動できます。FreeDOS 用の ISO イメージを実行する準備ができているものがたくさんあります。言及する価値があるのは、FreeDOS カーネルと共に配布されている DOS 用の Seagate Seatools です。

おそらくWindows 7 ProでXPModeを実行するための最良の(しかしそれだけではない)ソリューションです。Windows XP 32 を実行し、DOS 16 ビット リアル モード、16 ビット プロテクト (Windows 3.1)、および DOS 32 ビット エクステンダーを備えた NTVDM を介して 100% の透過的な互換性を提供します。ちなみに、NTVDM は Windows 10 Pro で有効にできる機能ですが、そこで何ができるかはまだわかりません。

XPMode は、カットペースト/コピー バッファ、USB、ドライブ、画面、およびネットワーク カード (Web アクセス) を完全に共有して、Windows 7 Pro 上の仮想マシンに Windows XP 32 ビットの無料バージョンをインストールする Microsoft からの無料ダウンロードです。ウィンドウと全画面を切り替えることができます。XPMode のインストールは自動化されています (Windows 7 Pro VM のアクティブ化後)。Microsoft は、レジストリを更新して VM をアクティブ化するさまざまなダウンロード可能なホット フィックスを提供しています。AMD Bulldozer アーキテクチャにインストールするには、MS サポートのダウンロード可能なホット フィックスを実行する必要があります。XPMode は、デスクトップと仮想ハード ドライブを休止状態にして、ハードウェア ベースのシステムよりもはるかに生産的な環境にします。

少し余分な作業を行うだけで、Windows XP 32 ビットを、Windows XP 64 ビット上の Microsoft Virtual Machine、Oracle Box および VMWare を含む任意の仮想マシンにインストールできます。ただし、Windows XP 64 ビット用の MS Virtual Machine などの一部のインストールでは、フル スクリーンで物理ディスプレイ全体を使用しない (約 90% のみ) ため、XPMode がおそらく最もスムーズなソリューションです。ブラウザと電子メールを XPMode にインストールすると、フル スクリーンで生活でき、新しいバージョンの Windows を忘れることができます。

于 2016-08-28T15:19:33.767 に答える