程序内存中的文本段指的是什么?

Roo*_*149 5 c memory text memory-management

我无法理解文本段中存储的内容。到目前为止我发现它包含我的程序的可执行代码(0 和 1)。但是程序的整个内存不都包含可执行代码(即用0和1编写的)吗?我的意思是,程序首先被编译,然后组装,最后链接,因此,一旦我们运行它,它都是二进制的。因此,一旦程序运行,就会在堆栈中为当前正在执行的函数创建堆栈帧,并且在这些堆栈帧中所有变量都为 0 和 1,但是文本段内有什么?

500*_*ror 4

正如您所怀疑的,(有点奇怪的命名)text部分(段)通常包含已编译的二进制代码。

除了代码之外,可执行文件通常还包含其他类型的数据,例如初始化的变量值、资源、调试信息、重定位数据等,这些数据被放置在具有其他名称的节中。