(toppers-users 2531) Re: コンフィギュレータのアライメント
Masaki Muranaka
monamour @ monaka.org
2006年 9月 13日 (水) 16:41:48 JST
こんにちは.
On 2006/09/13, at 13:37, takaya_kakizaki @ gmx.yamaha.com wrote:
> 4バイトアライメントを保証したいなら
>
> static VP __attribute__((aligned(4)))
GCCにおけるaligned属性は,
「少なくとも(at least) nバイトで」アラインメントする
という指定です.4を指定したとして,きっちり4バイトで
整列してくれる保証はどこにもありません.
(6でアラインしたとしても処理系のバグとはいえない)
実際に,型Tの配列t[]をaligned(n)で整列したとき,
特定条件で, t[i]のアドレスが c + n * i (ここで,c <
n)に
なる実装が存在します.例えばMIPS64系など.
上手に使えば使えなくもないと思いますが,
「保証したいなら」という主張の文脈では,
怖くて使えないと思いますよ.
--
from もなか