- 締切済み
32ビットの世界 ”c ”16ビットとの関連も
現在のコンパイラーなどは16ビットを想定しないものになっているのでしょうか? NEC98時代のコードが頻繁に出てくる1996年ごろの「はじめてのc言語」という本を 参考にして コンパイラーはBorland C++CompilerにGUIパッチをあてた、"C Pad for Borland C++Compiler"で 作業をしています。 本が古すぎて、16ビット コード が書かれているため、実行ファィルまではできますが、これを いざ!実行の段階ではXPのマシンでは正確には動きません。windows 98では動くこともあります。例えば、 以下のURL は ”カラー表示プログラム” ですが http://oshiete1.goo.ne.jp/kotaeru.php3?q=1196473 ASC2制御コードなどは どうなのでしょうか? BEL は 07 と指定してますがなりません。 現在の32ビットの世界と向き合って、勉強する前に、その付き合い方を 伝授 してほしいのですが。勿論 c言語の取り組み方です。16ビットとの関連も含めて よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nitscape
- ベストアンサー率30% (275/909)
古い本に書かれているソースを実行する場合は、できればその環境を用意した方がいいです(この場合はPC-9801シリーズのPCとMS-DOS)。エミュレータ(仮想的なPC)という手もあります。 現在使っているPCで実行したい場合には ・テキスト色 ・音 ・円や四角などのグラフィック描画 ・システム情報の取得 はあきらめた方がいいと思います。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
なんか、えらい勘違いされているような。 DOSとWindowsNTベースのOSはまったく別物です。 なので、コンパイラ云々ではなく、OSがDOSとの互換を取っていないだけの話です。 見た目は似てますが、DOSとWindowsのコマンドプロンプトは制御の方法がぜんぜん違います。 >現在の32ビットの世界と向き合って、勉強する前に、その付き合い方を 伝授 してほしいのですが。 16bit、32bitに限らず、 1.固有のシステムに依存した技術を高めていく 2.固有のシステムに依存しないグローバルな技術を高めていく のどちらかでしょう。ちなみにDOSのエスケープシーケンスなんてのは1のほうですので勘違いされないように。
お礼
ありがとうございます。 16bit用のコンパイルが紹介されてもらっているので、 32ビットのコンパイルの機能の違いがあるのかな! と思いました。 windows NT系のコマンド プロンプト とMS-DoSが別のものということは、理屈では 知っておりましたが、この様な状態で、現れてくることについては、知りませんでした。
お礼
たまたま、手元に残っていた、1996年ごろの古い本でも、cが 学習できると思ったのが、大きな 誤算でした。なにせ、当時は無料の使えるコンパイラなどありませんでした。今は この本が問題ではなくて、従って、<PC-9801シリーズのPCとMS-DOS>という環境に戻る必要などは、感じておりません。#1の方の指摘のように <2.固有のシステムに依存しないグローバルな技術を高めていく> ということが主目的ですので <・テキスト色 ・音 ・円や四角などのグラフィック描画 ・システム情報の取得> は あきらめて、(別の、参考書に変えて)やっていきます。 まぁ!無駄なことでも、前進の為には、なったかなぁ!と 思うしだいです。 ご親切に ありがとうございます。