ゲームボーイアドバンス(GBA)非公式開発 Part2at GAMEDEVゲームボーイアドバンス(GBA)非公式開発 Part2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト468:名前は開発中のものです。 06/02/25 15:25:34 LRNrnoNa 変数の型と変数名がつながっているのは書き込み時に つながってしまったもので実際には正しく記述しています。 469:名前は開発中のものです。 06/02/25 16:32:04 ChwfFfDn >>466-467 アライメントの勉強をしてみよう。 http://www.google.co.jp/search?q=%E3%83%A1%E3%83%A2%E3%83%AA+%E3%82%A2%E3%83%A9%E3%82%A4%E3%83%A1%E3%83%B3%E3%83%88 この場合は u8 のアライメントしか持っていない wrk に u16 としてアクセスしていることが原因。 GBA の CPU である ARM ではアライメント違反した書き込みはできない。 VC++ で正しく動作するように見えるのは CPU が違うから。 x86 系ではアライメント違反した書き込みはパフォーマンスが落ちるだけ。 470:424 06/02/25 17:25:32 T5T+YA0I こういう使い方をしたいときはunionを使うんだっけ? 使ったことないけど 471:名前は開発中のものです。 06/02/25 17:28:03 JLoubNl/ >>466 >>469を踏まえてこれでもう一度テストしれ typedef struct{ u8 use;/* 動作フラグ */ u16 no;/* 自分自身のタスク番号 */ u8 phase;/* 動作フェーズ */ u8 wrk[48];/* 汎用ワークエリア */ void *entryfunc;/* 実行関数 */ } __attribute__ ((packed)) TSKWRK; typedef struct{ u16 cnt; u8 x; u8 y; u32 tmp; } __attribute__ ((packed)) TEST; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch