0

作業中のブートローダーで使用するために、VC++ プロジェクトを 16 ビット フラット オブジェクト ファイルにコンパイルするにはどうすればよいですか?

私の理解では、オブジェクト ファイルは技術的には既に「フラット」であり、リンカーはそれを目的の実行可能形式に変換します。そのオブジェクト ファイルを取得し、それとアセンブリ コード (obj 形式) をリンカーを介して渡して、フラット ブートローダーを作成できるようにしたいのです。

[ガイド][1] は、ファイルがどこにあるかについてあまり具体的ではなくcl.exe、 、link.exe、およびml.exe(MASM) を使用しているとだけ述べています。

このガイドでは MASM を使用していますが、オブジェクト ファイルを NASM で出力する方法を知っています。私の主な問題は VC++ のことです。

4

1 に答える 1

1

Microsoft の最後の 16 ビット コンパイラは VC++ 1.52c でした。古いもので、おそらくもう手に入らないでしょう。あったとしても、最近のコードをコンパイルしない可能性はかなり高いです。最も明らかな欠点をいくつか挙げると、テンプレート、例外処理、名前空間がまったくサポートされていませんでした。

そのようなことに取り組んでいるほとんどの人は、もはやOpen Watcomを使用していると思います(これも正確には最新ではありませんが、それでも VC++ 1.52c よりは優れています)。

于 2012-05-03T04:31:25.450 に答える