Re: 構造体のメンバの記憶域の順
いいじまです。
> 今となっては、標準でコンパイラに構造体の順番の入れ替えを許す
> ことにした方が、最適化が効いていいんでしょうね。キャッシュの
> 関係で、順番を入れ替えたり、意図的に穴をあけたりすると、プロ
> グラムが速くなることがあります。この手の最適化は、CPUに依
> 存するので、本来はプログラマがやる仕事ではありません。コンパ
> イラの仕事です。
御意。でも、標準ライブラリとかシステムコールとかで使う構造体は何らかの形
で「コンパイルオプションに関係なく同じ構造になる」ということが保証されて
いないとまずいような。-march=i386 と -march=pentium4 で並び順が違ったら、
libc とのリンクの際に困ります。
Windows なんかでは #pragma pack(1) の嵐ですけど、UNIX 系の世界でも結局は
#pragma で処理することになるんでしょうね。
========================================================================
飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delmonta@ht.sakura.ne.jp
───【宣伝/ADVERTISEMENT】──────────────────────
fj.os.ms-windows.server2003 または fj.os.ms-windows.server の新設の可否
を問う投票を実施中です。
fj.news.group.comp をご参照のうえ、ふるってご投票ください。
投票期限は 8/25(月)です。期限が近いのでお急ぎを!
────────────────────────────────────
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735