Solaris 7 64 ビット 開発ガイド

構造体の再構成

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


例 4-7

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 */