プロが教える店舗&オフィスのセキュリティ対策術

PC初心者ですので、見当はずれな質問かもしれませんが、どなたか知恵をかしてください。自宅のPC(Windows Meと一太郎が入っています)にTurbo C++ 4.0 for DOSをインストールしたのですが、「このプログラムで無効な処理が発生したため強制終了されます。・・・。」と表示され詳細を見ると「プログラムが無効な操作を実行しようとしました。」「エラーが起きたアドレス:0000:000B」「サービスへの割り込み:なし」と書いてありますが正直よくわかりません。またPATHの追加も試みたのですがうまくいきません。PCにはMS-DOSプロンプトもあるのですがTurboC++を動かすにはどのような対処が必要ですか?簡単なところから詳しく教えていただけると助かります。よろしくお願いします。

A 回答 (4件)

私も詳しいことはわかりませんが, Turbo系はすごく独自のことをやっていると聞いたことがあります。


また, windowsにのっているDOSプロンプトはDOSの90何%ぐらいしかDOSの機能を再現できていないとも聞いたことがあります。
おそらく高いお金を払ってTrubo C++ 4.0 for DOSを買われたと思いますが, この際Borland C++ Compiler (Windowsプログラムも作れてしまうフリーのコンパイラ)に乗り換えてはいかがでしょうか。http://www.borland.co.jp/cppbuilder/freecompiler …
をごらんいただくか, Cマガジンという雑誌を購入されれば, 付録CD-ROMについてくると思います。あるいは, 16ビットコンパイラがほしいならLSIC86試食版というものがvectorにおいてあります。
ちょっと的外れな回答になりましたが, 参考になれば幸いです。
ちなみにエラーが発生したのは, インストールの段階でですか?
    • good
    • 0

参考までに。


WindowsマシンのDOSは「リアルモード」と「プロテクトモード」のDOSがあります。
Windows上で動くMS-DOSプロンプトは「プロテクトモード」だったと思います。

今回のDOSアプリケーションは「リアルモード」のDOS上で動くものではないでしょうか?

もしそうだとすると、WinMEには「リアルモード」のDOSがありませんので動かないと思います。Win98SEまでなら「リアルモード」のDOSがあります。

詳しくはソフトメーカーに問い合わせた方が良さそうですね。
    • good
    • 0

DOS版TurboC++の統合環境はKEYBIOSやディスプレイBIOSを使っているのでMD-DOSプロンプトでは動作しません。


ちなみに0000:000BはNMI(ノンマスカブルインタラプト)割り込みベクタアドレスの2バイト目でこんな所をアクセスするわけは無いアドレスです(ココは0000:000Aから4バイト単位でアクセスしなければいけない場所です)。
だいたいMS-DOSプロンプトはエミュレーションなので割り込みベクタやBIOSワークエリアを触ったら何が起こるかわかりません(Windowsをフリーズさせる可能性もある)。

と言う事で、他の方がおっしゃるようにBorland C++をお使いになる方がよいでしょう。
Borland C++は16ビットアプリケーションも作成できます。
LSI-C試食版は「ANSI-C準拠」と言いながら多くの部分でANSI-Cの規格を満たしていないのでその辺りを御理解の上ならお使いになってもよろしいかと…。
    • good
    • 0
この回答へのお礼

詳しいご意見ありがとうございます。納得して諦める事ができました。今後どうするかは未定ですがまた何かあったらご意見をうかがおうと思いますので、その時は宜しくお願いします。

お礼日時:2001/04/12 02:17

訂正します


000Aから4バイト(誤)
0008から4バイトまたは000Aから2バイト(正)
失礼しました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!