ゲームボーイアドバンス(GBA)非公式開発 Part2at GAMEDEVゲームボーイアドバンス(GBA)非公式開発 Part2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト673:名前は開発中のものです。 07/09/29 19:37:52 Yyp6PcC5 .cファイルに書いた場所(順番)によって、ポインタが指す場所が変わるのですが、 原因がわかる方はいらっしゃいますか? 具体的には const u8 hogebindata[HOGE_SIZE] ; // .oファイルから HOGE* pHoge1 = &hogebindata[0] ; // HOGE構造体のポインタ HOGE* pHoge2 = &hogebindata[0] ; これでpHoge1とpHoge2の指す場所が変わったのですが。 674:名前は開発中のものです。 07/09/29 20:45:51 /Cn9Hphu その現象は確認したことがないので お役に立てないかも。 指す場所が変わったというけれど 1,2バイト程度のズレなのか、全然無関係な アドレスを見ているのか気になります。 前者ならコンパイラの最適化の影響? volatile修飾子つけてみてはどうでしょうか。 もしくは HOGE* pHoge1; HOGE* pHoge2; pHoge2 = pHoge1 = &hogebindata[0]; でやってみるとか。 675:名前は開発中のものです。 07/09/29 22:41:19 Yyp6PcC5 >674 レスありがとうございます。ズレも定義する位置毎に変わったり、 さらには他の部分の関数等の量(?)にも変わったりするので良く解りません。 とりあえず、今まではグローバルで定義と初期化をしていたのですが、 初期化をAgbmain()の冒頭にしたら見かけ上はうまく行きました。 原因が解らないのが気持ち悪いところではありますが…。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch