在testing中,我运行在我的程序的BSS部分的内存始终被初始化为零,然后我写任何东西。 这是否是巧合,还是系统在将这些内存页面交给我之前“清理”这些内存页面? 我正在使用Ubuntu上的nasm汇编程序(如果这可能有所不同)。
你的应用程序的可执行文件(ELF)有一个BSS段的大小信息,当它启动时,内核为BSS段分配一块内存,并将其清理为0.这个由ABI(应用程序二进制接口)定义,所以你不需要担心在不同的机器上有不同的。
是BSS被初始化为零。