奥村@松阪大です。
x86ではlong doubleは精度は10バイトですがABIレベルでは12バイトでアライ
ンしています。16バイトでアラインすることもできるようです。詳細はgccの
マニュアルを読んでください:
`-m128bit-long-double'
Control the size of `long double' type. i386 application binary
interface specify the size to be 12 bytes, while modern
architectures (Pentium and newer) prefer `long double' aligned to
8 or 16 byte boundary. This is impossible to reach with 12 byte
long doubles in the array accesses.
*Warning:* if you use the `-m128bit-long-double' switch, the
structures and arrays containing `long double' will change their
size as well as function calling convention for function taking
`long double' will be modified.
`-m96bit-long-double'
Set the size of `long double' to 96 bits as required by the i386
application binary interface. This is the default.
--
Haruhiko Okumura <okumura _at_ matsusaka-u.ac.jp>
Matsusaka University, 1846 Kubo-cho, Matsusaka, 515-8511 Japan
http://www.matsusaka-u.ac.jp/~okumura/
References:
- Prev by Subject: [vine-users:055791] Re: long double の値
- Next by Subject: [vine-users:055793] Re: すみません^^;
- Previous by thread: [vine-users:055791] Re: long double の値
- Next by thread: [vine-users:055774] シフト演算子
- Indexes:[Main][Thread]