Zen-Ichi

VC++6

投稿日:2002年2月17日 更新日: 投稿者:

— MNA —

ノートにSP5を当てていないVC++6が入っていたので、試しにこちらでコンパイル。正常にプレイできます。ひょっとしてSP5のインストールが不完全でコンパイラが壊れた!?その可能性もありますが、以前VC++5からVC++6に乗り換えたときも眠っていた微妙にまずいコードが目を覚まし、それが原因で落ちてしまうと言う状態に遭遇したのを思い出しました。

と言うわけで、まずは自分のコードを徹底的に疑ってみることに。調べているうちに残機アイコンのポインタをアクセスすると落ちていることが判明。しかし初期化の時にはこのポインタは問題なく使えています。てことはどこかで破壊されているに違いない!

そう思い、ポインタが使用不能になる箇所を追跡。そして発見しました!派手にバッファオーバーランしている場所を!どうもループの定数を置き換えるのを忘れていたようで、302バイトもオーバーランしていました。ずっと昔からあったのに、今まで動いていたのが不思議なくらいです(^^;こうしてめでたく眠っていたバグを退治できました。でもまだまだありそうな予感・・・。

-Zen-Ichi
-


comment

リンクが多数含まれていると表示されないのでご注意ください。(スパム対策)

CAPTCHA


関連記事

no image

フォント

— MNA — 画像データ移転に伴い、フォントデータも移動しました。その際、ステージによってデータの座標が変わってしまっても対応できるようにフォント読み込みルーチンを改造。これ… 続きを読む

no image

判定フラグ

— MNA — ゲームオーバーなどで自機がいなくなった瞬間、半透明スプライトが消えてしまう現象が発覚! 原因を調査したところ、自機が死んでオブジェクトが消滅したときに、半透明判… 続きを読む

no image

ノートPC変身

— MNA — いろいろありまして、ノーパソが上位機種に変身しました。今度はP!!!でコンパイルが爆速です。セレロンとクロック数自体はほとんど同じなのにここまで差が出るとは・・… 続きを読む

no image

ロースペックも

— MNA — メモリの使用効率を大幅アップ。今まで機械的に生成していたデータをある程度手動に換えることによってメモリの無駄を抑えました。これでスワップなどが起きる確率が少しは… 続きを読む

no image

皇のオプション

— MNA — 皇のオプションの位置が多少変更になりました。少しだけ横に広がっています。