未初始化的全局变量为什么可以认为放在.bss 段?

目标文件中,没有在.bss段分配空间,而是标记为COMMOM

未初始化的全局变量是弱符号。编译成.o时,占的大小是未知的,有可能别的地方还定义了,且定义的size更大。但是链接器是要符号判决的,是能知道大小的,最终在bss段为其分配空间(可执行文件)。

你可能感兴趣的:(计算机体系知识,c语言,c++)