看一下执行程序内存布局 一下就明白了
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 FILE LOCAL DEFAULT ABS test.c
2: 0000000000000000 0 SECTION LOCAL DEFAULT 1
3: 0000000000000000 0 SECTION LOCAL DEFAULT 3
4: 0000000000000000 0 SECTION LOCAL DEFAULT 4
5: 0000000000000000 4 OBJECT LOCAL DEFAULT 4 i.2127 //这里i说明是一个自从程序运行之处就一直存在,并不是动态分配的
6: 0000000000000004 4 OBJECT LOCAL DEFAULT 4 j //j同上面一样,从程序开始运行时就一直存在,直到程序终止
7: 0000000000000000 0 SECTION LOCAL DEFAULT 5
8: 0000000000000000 0 SECTION LOCAL DEFAULT 8
9: 0000000000000000 0 SECTION LOCAL DEFAULT 7
10: 0000000000000000 21 FUNC GLOBAL DEFAULT 1 fun1
11: 0000000000000015 31 FUNC GLOBAL DEFAULT 1 fun2
12: 0000000000000034 44 FUNC GLOBAL DEFAULT 1 main