Home > C言語 > キャストでミスアラインメント

キャストでミスアラインメント

組み込みとかはミスアラインメントがやばい。


int a;
char *b;

b = (char *)&a;

これはやばい。intからcharへのキャストはミスアラインメントが起こる可能性がある。逆は特に問題ない(気がする)。
実はよく知らないんだけども、たぶんintで定義すると4バイトのレジスタに格納されて、それが1バイト単位でアクセスできない場合はミスアラインメントが起こるということじゃないかなぁ。PCだと大丈夫だったりするから性質が悪い。

という、漠然としたあまり意味があるとは思えないメモ。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=109
Listed below are links to weblogs that reference
キャストでミスアラインメント from コスミー報告書[社外秘]

Home > C言語 > キャストでミスアラインメント

Search
Feeds
Meta
 合計:016018
 今日:0016 昨日:0168

Return to page top