C运行环境语言初始化
几乎所有的程序都需要三个section:
代码(code),需要赋初值的变量(data),赋默认初值为0的变量(zidata, Zero Initialize data)。
第一个程序全局变量x默认会被编译器初始化为0,所以分配到zidata section;
第二个程序虽然x也是0,但这个初值是你显式指定,所以分配到data section;
多出来的代码部分是初始化data section的,第一个程序没有data section;
不过如果你调高优化级别,第二个程序的x有可能也被挪到zidata section
|