static的变量是放在哪里


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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM