什么是bss细分市场的效用?

时间:2012-01-20 07:59:44

标签: c memory data-segment

我知道bss段包含未初始化的变量,它们将作为初始值给出0,但为什么我们不只是使用数据段来存储它们?

我读到它加速了执行,因为os加载器通过调用memset立即初始化所有这些变量,但是,我不太相信,因为加载器可以调用memset来在数据段中初始化它们!

1 个答案:

答案 0 :(得分:2)

因为您可能拥有大量未初始化的值。如果要将数据部分用于此目的,则必须使用零填充二进制文件(或任何值,但某些必须存在)。想象一下,在可执行文件中添加一兆字的零......