パディングが必要な場所について、アプリケーションにおける内部データ構造をチェックする必要があります。LP64 データ型モデルでは long またはポインタフィールドは 64 ビットに拡張されるので、境界を整列するために構造体内のフィールド間にパディングを行うことができます。SPARC プラットフォーム上の 64 ビット環境では、構造体の型はすべて、少なくとも構造体内にある一番大きいサイズに整列されます。構造体を再構成するための簡単な規則は、long とポインタのフィールドを構造体の始めの位置に移動することです。
struct bar {
int i;
long j;
int k;
char *p;
}; /* sizeof (struct bar) = 32 */
推奨される使用法
struct bar {
char *p;
long j;
int i;
int k;
}; /* sizeof (struct bar) = 24 */