フットプリントを最適化したい構造があります。
typedef struct dbentry_s {
struct dbentry_s* t_next;
struct dbentry_s* a_next;
char *t;
char *a;
unsigned char feild_m;
unsigned char feild_s;
unsigned char feild_other;
} dbentry;
私が理解しているように、コンパイラは、構造を定義するとメモリ内に構造を作成します。そのため、小さな型がアライメント ホールを埋めることができるように、大きな型を最初に宣言する必要があります。
データ構造のアライメントに関する WikiPedia の記事と、この問題に関する他の記事を読みました。 http://en.wikipedia.org/wiki/Data_structure_alignment
しかし、まだ確信が持てません。現在の注文が最適なのか、何か不足しているのでしょうか。
注: 私のコンパイラは「#pragma pack」をサポートしていません