在C语言中的内存分段 — 文本段

5
有人能告诉我在C语言中“text segment”是什么,如果可能的话给我展示一个简单的例子吗?

2
这里的“segments”不是编程概念,而是指程序在运行时在可执行文件和内存中布局代码和数据的方式。建议查看链接器文档以获取一些可能的提示。 - woolstar
1个回答

7
在Unix系统上,程序的“text”段是代码——机器代码和组成程序的函数(包括特别重要的C或C ++中的main()函数)。它还可以包括只读数据。经典程序中的其他段是“data”段和“bss”段。“data”段保存已初始化的数据;“bss”段保存零数据。运行后,数据和bss段无法区分。
此外,还会出现堆栈和“堆”。

1
是的,我已经理解了其他的内存段。那么如果我错了,请纠正我:在C程序中,main()函数是文本段吗? - Matt_p
1
main() 函数位于文本段中,它调用的函数也在其中。 - Jonathan Leffler
太好了,这就是我想知道的 :) - Matt_p

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接