Re: 構造体のメンバの記憶域の順
At 22 Aug 2003 19:31:04 +0900,
Hideo Sir MaNMOS Morishita wrote:
> In article <871xve8046.wl@anago2.mas.chi.its.hiroshima-cu.ac.jp>,
> Fujii Hironori <fujii@chi.its.hiroshima-cu.ac.jp> writes:
> > 構造体のメンバの記憶域は並べられた順に割り当てらることとなっていますが、
> > これには何か理由がありますか。
>
> それが規格だから。としか答えようありません。
なぜ規格をそうしたのかがちょっと不思議に感じるのです。
コンパイラがなぜそうするのかが知りたいのではないです。
At Sat, 23 Aug 2003 14:08:43 +0900,
IIJIMA Hiromitsu wrote:
> > > レジスタは番地をもたないと思っているのですが、
> > > 番地のないレジスタに順番がどう影響するのか理解できません。
> >
> > メモリマップド I/O とかじゃないですか,
> > あと, スッタクフレームいじる時.
>
> CPU によっては、複数のレジスタの内容をまとめてメモリに書き出したりそれを
> レジスタに書き戻したりする命令がありますね。たとえば x86 の pusha/pushad。
char や int のサイズと詰め物のしかたについてが処理系依存なのに、
並びだけ決めても移植性を考えると使えないと思う。
---
藤井宏憲
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