2

16ビットの実行可能ファイルを起動する32ビットアプリケーションを作成しました。このアプリケーションは、アプリケーションの機能の一部を実行するためにいくつかの16ビットDLLをロードします。Windows 7 32ビットでは正常に動作しますが、そのバージョンのOSにはNTVDMが含まれていないため、Windows764ビットでは動作しません。

コードの16ビット部分はかなり広範であり、32ビットに移植するにはかなり費用がかかります。また、もう営業していない会社のサードパーティの16ビットAPIを使用しています。したがって、そのコードを完全に再作成する必要があり、それによってコストが増加します。

既存の16ビットDLLを32ビットアプリケーションから直接ロードして、16ビット実行可能ファイルを完全に削除する方法はありますか?

サンクを調べましたが、Windows7でもサポートされているようには見えません。

4

2 に答える 2

1

いいえ。これはWindowsでは不可能です。

于 2013-02-26T19:27:37.370 に答える
1

エミュレータまたは仮想マシンを使用する必要があります。

または、それがオプションでない場合はプリミティブエミュレータを自分で作成し、命令ごとにマシンコードを読み取り、それに応じて偽のレジスタとメモリを変更できます。プログラムが外部に呼び出すと、応答を生成する必要があります。

于 2013-02-26T19:50:20.183 に答える