全局变量赋初值和不赋初值保存的地方有什么区别?

3840阅读 0评论2014-08-18 Yiran_Linux
分类:嵌入式

全局变量,如果未赋初值,就代表其会被编译器赋值为0. 但是目标文件中是不会为这个全局变量分配空间的,它被放在BSS段,BSS段在目标文件中是没有的,在加载的时候才会为其分配空间并赋初值0.
如果是赋初值的全局变量,目标文件中就会为这个全局变量留下空间,因为要在目标文件中存储这个全局变量的初值。它放在目标文件中的数据段。
上一篇:unsigned char,short,int ,long在16位32位和64位机器的长度
下一篇:ldd3的scull字符驱动在kernel3.2下编译出错的解决方法