gpt4 book ai didi

c - 拥有 .bss 部分有什么好处?

转载 作者:太空狗 更新时间:2023-10-29 17:22:24 26 4
gpt4 key购买 nike

有 2 个部分的好处是什么 - .data 和 .bss 用于流程范围变量。为什么不只拥有一个呢?我知道每个部分的用途。我正在使用 gcc。

最佳答案

.bss 消耗“内存”但不消耗可执行文件中的空间。它的唯一目的是保存零初始化数据(如您所知)。

.data(和相关部分,如 rodata)确实会占用可执行文件中的空间,并且通常包含字符串、整数,甚至可能是整个对象。

在一个典型的程序中有很多零初始化数据,所以让这些数据不占用输出文件中的额外空间是一个重要的好处。

至于多个 .*data 部分... .rodata/.data 可以用作内存保护的提示(禁止覆盖 .rodata,允许读/写 .data)。

关于c - 拥有 .bss 部分有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7898778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com