『PCエンジン温泉』 管理:ソフト開発グループ「Finath(ファイナス)」

現在までに、6076人の方が、この書き込みをご覧になっています。

08/05/24(土)10:09 tori
VisualStudioでビルド

いつもootakeを利用させていただいています。

ソースを修正してVisualStudio2008でビルドできるようになりましたが、動作させるとバッファオーバーランが発生しました。
App.c init_menu()関数の char dn[10]; が10バイトでは足りないです。
sprintf(dn,"¤t( %c: )"...... ←ここでバッファオーバーランします。

あと、私なりに調べてみたのですが、MB128のアドレスブロックは1024バイトではなく128バイトっぽいです。mb128.cを修正して信長で動作確認しました。

参考までに、VisualStudioでビルドするためには、外部参照される関数がinline修飾されているとリンクでエラーが出るので、inlineをはずします。
inline修飾されているとグローバル関数として実体が出力されないようです。

それでは失礼します。


08/05/25(日)10:34 Ootake作者
Re)VisualStudioでビルド

こんにちは。

メモリベース128ですが、
>MB128のアドレスブロックは1024バイトではなく128バイトっぽいです

ばっちりストライク来ました!
おかげで次バージョンで、光栄ものもアートディンクものも無事正常な動作
ができそうです。
(あと、ついでに"真・女神転生"でセーブ失敗していた件も、直しました)

バッファオーバーランの箇所も修正できました。あとVisualStudioで実際コン
パイルを確かめてはいないのですが、ヘッダファイルのinline記述はカット
しました。来週新バージョンを公開できると思います。

貴重な情報、本当にありがとうございます。


09/01/09(金)10:48 t4
Re)VisualStudioでビルド

CD-ROM関係でバクぽい物を見つけたんですが、報告はこちらでよろしいでしょうか?


Ootake作者>こんにちは。できればOotake開発関連の内容は、トップページ右側の「ノンサポート掲示板」のほうでお願いします。報告ありがとうございます。[01/10(土)10:37 Mail

メッセージ一覧へ戻る

Copyright(C)1997-2007 Kitao Nakamura.