#69 Article 729 Posted at 1996/11/08 23:18:02 by みやちゃん (MAP2821) [WIN.32]

Subject: 32ビットコードで

Windowsで32ビットコードのプログラムを書いてます。
コンパイラはBorland C++ 4.02Jです。(5.0Jは現在購入手続き中)
現在のターゲットはWin95です。

Win3.1用のものを95用に書き直している最中なのですが、
(とある事情でネイティブ32ビットにしなければならなくなった)
実は困ったエラーに悩まされています。

95上でプログラムを起動すると例外違反を起こします。
Turbo Debugger で調べたところ、正常なプログラムならEIPがWinMainを指して
待機するところが、WinMainよりもずっと後ろのプログラムコードエリア外を指して
エラーを出していることが分かりました。
おそらくWinMainの前、すなわちスタートアップコードからこのエリアに
ジャンプしているものと思われます。

このプログラムは16ビットコードで作成していたときには
3.1上、95上とも正常に動作していました。

このような事が起こる原因について、どんな些細なことでもけっこうですから
心当たりがありましたら教えてください。

							みやちゃん