This is due to the way global variables work.
, , , .c
. , external
, .
? :
bss
COMMON
.- , ,
COMMON
, . bss
.
bss
, .
, size
, objdump -x
. , *COM*
.
, static
, , , COMMON
, :
int a;
int b;
static int c;
$ size test.o
text data bss dec hex filename
91 0 4 95 5f test.o
0
.
int a;
int b;
int c = 0;
$ size test.o
text data bss dec hex filename
91 0 4 95 5f test.o
-, 0
, data
:
int a;
int b = 1;
int c = 0;
$ size test.o
text data bss dec hex filename
91 4 4 99 5f test.o