- 438 名前:デフォルトの名無しさん mailto:sage [04/12/09 17:34:32]
- >>437
アライメントと決まったわけじゃないしな。 単純にメモリ壊しているだけかもしれん アライメント問題はこんな感じ ---- uint16 buf1[10]; uint8 *p1 = (uint8 *)buf1; *p1 = 0; p1にアクセスするのはOK uint16 *p2 = buf1; *p2 = 0; p2にアクセスするのはOK ---- uint8 buf2[10]; uint8 *1 = buf2; *p1 = 0; p1にアクセスするのはOK uint16 *p2 = (uint16 *)buf2; *p2 = 0; p2にアクセスするのはNG★ 例え動いたとしても、偶然buf2が2の倍数のアドレスに 配置されてたってだけ コレをやりたい場合は、アドレス調べてうまくいくよう 自分の処理を調整するか、_packed、PACKEDとかでコン パイラに教えてあげる必要がある
|

|