首页 > 解决方案 > 在 C 中动态设置 .data 段大小

问题描述

有没有一种方法可以在不增加二进制文件编译大小的情况下在 C 中操作 .data 段大小(即设置大小而不设置任何变量)?

标签: c

解决方案


Linux 程序有两个数据段:“.data”和“.bss”。“.data”用于具有初始值的变量(静态 int x=5),而“.bss”用于以 0 开头的变量(静态 int x)。将数据添加到“.data”将导致空间用于保存初始值。

考虑选择“.bss”部分,这对对象大小影响不大。


推荐阅读