0
ここに32ビットのC++プログラムがあり、好奇心から逆アセンブリをチェックしていました。私は、次のstructていますblah->バーにアクセスすると、私は次のようにシンプルな構造体の整列/パディングの質問
struct Blah
{
char foo;
std::string bar;
};
注意:
; ... address of blah is in eax
003A227B add eax,4
4にblah
のアドレスに追加する必要がない理由だから私の質問は、ありますbar
にアクセスしますか? char
が1バイトであり、それで良いラウンド4を作れるので、私は3を理解するでしょう...
これは基本的にそれです。 –
それはfooの終わりではなく、構造体の先頭に追加しています。なぜならそれは4であり、3ではないからです。 – Joe
ah、duh。答えとして投稿し、私はそれを受け入れる。 –