.cppファイル内の構造体のグローバル配列を初期化したいとします。私の配列サイズは約70000です。各構造体には2つのポインタ(サイズはそれぞれ4バイト)が含まれます。 .cpp初期化後のファイルサイズは1 MB以上になります。この大規模なグローバル配列とは別に、私はいくつかの小さな変数(10-20バイト)をいくつも持っています。静的に初期化された大きな配列(例:6555エントリ)のコンパイル時間が巨大です
このファイルをVisual Studio 2005でコンパイルすると、コンパイルに約10分かかります。 しかし、私がこの70000エントリの配列を35000エントリの2つの配列に分解すると、コンパイル時間はそれぞれ5分(元のビルド時間の半分)になります。しかし、私はプロジェクトの制約のために、私は複数の小さな配列でグローバル配列を分割したくない。しかし、コンパイル時間も短縮したい。いくつかのコンパイル最適化のトリックやコーディングトリックがコンパイル時間を短縮することが可能であることをお知らせください。
Struct node
{
char* name;
int* ptr;
}
typedef Struct node NODE;
NODE invalidNode = {invalidNodeName,NULL};
NODE nodelist_10_nodeArray[] = {{"PETER",NULL},
invalidNode,
invalidNode,
invalidNode,
{"George",NULL}
{"SUNDAR",NULL}
invalidNode,
...,
...,
...,
},
注:無効なエントリが多数あります。