优秀的编程知识分享平台

网站首页 > 技术文章 正文

内存的各个段(内存分段)

nanyue 2024-08-25 10:36:29 技术文章 5 ℃

前言:本章主要讲解代码段、数据段、bss段

编译器在编译程序的时候,程序会按照一定的结构被划分为各个不同的段进行组织,这些段有.text、.bss、.data等

代码段(.text):代码段存放的是程序的代码部分,程序中的各种函数的指令就存放在该段。(代码段是只读的)

数据段:也被称为数据区,静态数据区、静态区,程序中的静态变量空间就存放于此。

.bss段,又叫ZI段,所有未初始化的静态变量的空间都存放在这里,这个段会自动将这些未初始化静态空间初始化为0.

需要清楚的是,数据段和.bss段没有多大的区别,都是用来存放程序中的静态变量,只是.data中存放的是显式初始化为非0的静态数据,而.bss中则存放那些显示初始化为0或未显式初始化的静态数据。

注意事项:

c语言中使用char *p = "hello world",字符串是分配到代码段的,因此"hello world"字符串实际上是一个常量字符串,而不是一个变量字符串。

获取相关代码方式


Tags:

最近发表
标签列表