Jul 03, 2006

AEECallback 構造体はゼロクリアが前提

ポスト @ 18:54:30 | プログラミング,BREW

単なる備忘録です。

BREW のコールバック設定・解除用構造体である AEECallback ですが、APIリファレンスを見ると

pNext: 予約済み。 コール側でこのメンバを変更する必要はない。
pmc: 予約済み。 コール側でこのメンバを変更する必要はない。
と書かれていますが、それを真に受けて、適当に確保した構造体インスタンスに CALLBACK_Init() だけ施した上で BREW API に渡したりすると、BREWシミュレータは見事に異常終了してしまいます。

Visual Studio のデバッガで追った感じから、「あぁたぶんこれゼロクリア必須なんだろうなぁ」と思い、そうしてみたらやっぱり落ちなくなりました。

まぁ、BREWの場合、MALLOC()で確保できるメモリはデフォルトでゼロクリアされてきますし、コールバック関連の変数はスタックに持てるわけないし(笑)、そういう前提で言うなら「変更する必要はない」んでしょうけどね…

やっぱり、BREWは世界中で最も汚く不条理なプログラミング環境です

Trackback

No Trackbacks

Track from Your Website

http://blog.izumichan.com/trackback/tb.php?id=285

Comment

No Comments

Post Your Comment


*は入力必須です。E-Mailは公開されません。