3
Cでの構造体メモリレイアウト
私はC#のバックグラウンドを持っています。私はCのような低水準言語の初心者です。 C#では、 structのメモリはデフォルトでコンパイラによってレイアウトされます。コンパイラは、データフィールドを並べ替えたり、フィールド間に追加のビットを暗黙的に埋めたりすることができます。そのため、正確なレイアウトのためにこの動作をオーバーライドするために、いくつかの特別な属性を指定する必要がありました。 AFAIK、Cはstruct、デフォルトでは、のメモリレイアウトを並べ替えたり整列したりしません。ただし、見つけるのが非常に難しい小さな例外があると聞きました。 Cのメモリレイアウト動作とは何ですか?何を再注文/調整する必要がありますか?
85
c
struct
memory-layout