web-dev-qa-db-ja.com

プログラムが16ビット互換かどうかをテストする方法は?

soPDF Delphiで記述されたGUIを作成していますが、MS-DOS 6.22で実行する必要があるため、soPDFが16ビット互換かどうかを知りたいです。

また、DOSBoxでこのテストを行うことはできますか?

5
Nathan Campos

テキストエディタで.exeを開き、最初の2文字を確認してください 16ビットDOSと互換性があるかどうかを確認できます。ウィキペディアの記事によると、最初の2文字が「MZ」または「NE」の場合、プログラムは16ビットDOS互換です。ただし、これは少し誤解を招く恐れがあります。 「このプログラムはDOSモードでは実行できません」と言うのに十分なだけ16ビットモードで実行できる可能性があります。残念ながら、これはsoPDFの場合です(メモ帳で開いて自分で確認してください)。

インストール Win32s は、おそらくそれを実行するための唯一の希望です。ただし、Win32sをDOSで実行できるかどうか、またはWindows3.11から実行する必要があるかどうかはわかりません。また、soPDFに、Win32sでも実行される見込みのない他の前提条件があるかどうかもわかりません。

DOSBoxでプログラムをテストできるはずです。 onlyは16ビットDOSアプリケーションをサポートしていると思いますが、明確な答えが見つからないため、VMware、VirtualBox、またはVirtualPCDOSをセットアップしますインストール( Davidが提案したように )は、それをテストするための最も簡単で確実な方法かもしれません。

メモ帳で.exeを開くほど簡単ではなかった場合は、 DependencyWalker を使用して、soPDFが32ビットアプリか64ビットアプリかを確認できたはずです。

また、正しく思い出せば、16ビットアプリはWOW.EXEまたはおそらくWOW16.EXE( Windows On Windows )プロセス内で実行されます。これは、タスクマネージャーの[プロセス]タブに表示されます。 32ビットWinNT/2k/XPで16ビットアプリを実行しようとした場合。

Windows 64ビットエディションには16ビット互換性レイヤーが含まれていないため、他のすべてが失敗した場合は、プログラムが破損しているか、64ビットWindowsインストールで実行されていない場合は16ビットであると見なすことができます。

Win32sがあなたを助ける可能性はまだありますが、doPDFが16ビットアプリの主流の死から10年以上後の2008年に書かれたので、私はかなり疑わしいです。頑張って、楽しんでください...ああ-そして、8.3ファイル名を使用することを忘れないでください!

4
rob

SoPDFについてはあまり調べませんでしたが、「Windows時代」に作られたツールだとすれば、16ビットプログラムではありません。 「16ビット互換性」はありません...高ビットのオペレーティングシステムで低ビットのプログラムを実行できますが、その逆はできません。

また、DOSで実行してもよろしいですか?それともcmdのことですか?

2
Rook

これを行う最も簡単な方法は、VirtualBoxやVMWareなどの仮想マシンソフトウェアを使用して、その中でDOSを実行することです。 VirtualBoxがフロッピー画像を受け入れると確信しています。

0
David

link の情報によると、soPDFはVisual Studio 2008でビルドされたため、Visual Studioは16ビットアプリケーションをビルドできないため、32ビットWindowsアプリケーションになります。 16ビットバージョンが必要な場合は、ソースをダウンロードして自分でコンパイルする必要があります。コンパイラが必要な場合は、 Open Watcom を使用できます。それはおそらく些細な変換ではありません。

0
shf301