>>11
[続き]
(t1.cpp)
static int s_a = 5;
・・・
(t2.cpp)
static int s_a = 5;
・・・
(t3.cpp)
static int s_a = 5;
・・・
と書いたのと同じ。
これだと、「5」を初期値に持つ4バイトの領域が、3つ分確保されてしま
うので、xxx.exe は、12バイトの領域が含まれてしまうことになる。
それならいっそう、static 属性を付けず、
(xxx.h)
extern int g_a; //定義なしの宣言
とし、t1.cpp、t2.cpp、t3.cpp のどれかひとつのファイルで、
int g_a = 5;
と書いた方が効率的。そうすれば、xxx.exe では、4バイトしか
消費しないで済むから。