实例说明C语言中初始化和未初始化的全局变量所在不同的段
2013-05-16 17:55
627 查看
实例说明C语言中初始化和未初始化的全局变量所在不同的段
一个程序:
Makefile:
主程序:
下边是我根据不同的g_val的值进行编译,查看bss.dis来看所在不同的段:
通过实现可以准确的说明:.bss段是放未初始化或者初始化为0的全局变量;.data段是存放初始了且不为零的全局变量。bss段中的值全部赋为了0。程序中就不存在没有初始化的全局变量了,你不初始化,bss段也会帮你初始化为0。
这样做一次实验超过看好多次书!
一个程序:
Makefile:
objs := bss.o all: bss bss: $(objs) gcc -o bss_elf bss.c objdump -D bss_elf > bss.dis clean: rm -f bss_elf bss.dis *.o
主程序:
/* * bss.c * * Created on: 2013-5-16 * Author: root */ int g_val; void changeVal() { int a; a = 1; g_val = 4; } int main(void) { changeVal(); return 0; }
下边是我根据不同的g_val的值进行编译,查看bss.dis来看所在不同的段:
通过实现可以准确的说明:.bss段是放未初始化或者初始化为0的全局变量;.data段是存放初始了且不为零的全局变量。bss段中的值全部赋为了0。程序中就不存在没有初始化的全局变量了,你不初始化,bss段也会帮你初始化为0。
这样做一次实验超过看好多次书!
相关文章推荐
- 初始化全局变量实例说明C语言中初始化和未初始化的全局变量所在不同的段
- C语言全局变量初始化、数据类型长度
- OC中实例变量初始化方法,setter方法以及便利构造器的不同
- c语言中全局变量的初始化
- php开发中如何获取所在全局变量的代码实例
- C语言全局变量的初始化和字符串常量
- C语言全局变量的初始化和字符串常量
- c语言中全局变量在不同文件中的引用(一)
- c语言全局变量的忠告 c语言存储类说明符
- c语言全局变量的忠告 c语言存储类说明符
- 通过未初始化全局变量,研究BSS段和COMMON段的不同
- X3全局变量及公共函数所在的命名空间说明
- C语言 全局变量和局部变量详解及实例
- C语言全局变量的初始化和字符串常量
- C语言中的全局变量内存分配和初始化顺序
- C语言中的全局变量内存分配和初始化顺序
- ”C++中赋值和初始化不同“实例说明---欢迎大家发表自己的看法
- 通过未初始化全局变量,研究BSS段和COMMON段的不同
- 为什么初始化的全局变量和未初始化的全局变量要保存在不同的段??
- 通过未初始化全局变量,研究BSS段和COMMON段的不同