static的变量是放在哪里

Posted 枝桠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了static的变量是放在哪里相关的知识,希望对你有一定的参考价值。

static的变量都放在数据段,但是初始值若为0则放在BSS节中。而初始值非零则放在数据节中。

数据节和BSS节都属于数据段。
 
顺便说说对象的存储,可分为三类:静态存储(static storage);自动存储(automatic storage);动态分配存储(allocated or dynamic storage)。
对于自动存储则对应的是栈(stack),动态分配存储对应的是堆(heap);静态存储可分为.bss/.data/.rodata等数据段(section)。
在程序执行中把初始值为零或者是未设初始值的变量放在.bss段中。
 
推荐一个readelf命令:Linux命令学习手册-readelf命令           

以上是关于static的变量是放在哪里的主要内容,如果未能解决你的问题,请参考以下文章

未在定义语句中赋初值的auto变量和static变量的初值都是随机值。请问这句话错在哪里?

uboot 放在哪里?

static变量,全局变量,局部变量

将 API 密钥放在哪里?清单中的资源、元数据还是静态变量? [复制]

当 init() 还初始化成员变量并引用“self”时,将 super.init() 放在哪里

AWS EB 环境配置文件应该放在哪里?