未初始化的静态变量始终在BSS中分配。而.bss段是静态的,因为内存是在编译时分配的。 根据许多书籍“可执行文件中只有初始化为非零值的变量占用空间”。 程序加载到内存后,未初始化的静态变量仍为.bss。
**函数初始化时会发生什么? ** 会被移到其他地方吗?
答案 0 :(得分:2)
引用的其余部分:
“在可执行文件中,只有初始化为非零值的变量占用空间。”
即。当可执行文件加载到内存中时,会分配所需的空间
答案 1 :(得分:1)
初始化时,内存被分配给“未初始化的静态变量”,并将其移动到.data部分。
代码文件:
os
执行:
import os
print os.environ.get('PWD', '')