通常, C代码中的数据段位于 RAM 易失性存储器中,并由初始化数据段,未初始化数据段(.BSS),堆栈内存和堆。
堆栈内存仅在运行时调用例程中显示,并且以 push 和 pull 值显示。
堆用于动态内存分配调用malloc
,calloc
和realloc
。
.BSS段仅通过内存集或内部函数具有值,因为它没有任何真正的初始值。
但是已初始化的数据段,即使它是静态的或全局的,也必须具有一些值,并且这些值必须存储在非易失性存储单元中,因为它应该在运行前就存在代码。
问题: 初始化值存储在非易失性存储器位置的哪个部分中,以及是否有任何方法可以用来减少此值的存储器消耗?