linux - 谁安排/创建程序的不同段(堆栈、堆、代码段、数据段)

标签 linux memory-management assembly

在查看程序的不同部分时,我对谁创建了这些部分有些怀疑。 我的理解是,汇编器在创建汇编代码时创建这些不同的段,并且当加载到虚拟内存中时,加载程序为所有段创建虚拟地址空间并将它们存储在虚拟内存中。

请帮助我理解它。

最佳答案

是的,汇编器生成各个段,但您可以使用标签在代码中指定它们,例如 .data 指令告诉汇编器我们已经到达数据段。

关于linux - 谁安排/创建程序的不同段(堆栈、堆、代码段、数据段),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814992/

相关文章:

Linux - 保护环境变量

linux - 什么是ARM安全模式下的分区检查器

c++ - 将 C 字符串和 vector 发送到 MurmurHash 会产生不一致的结果

android - HeifDecoderImpl 导致 'decStrong() called too many times'

c - 如何在C程序中调用汇编程序- Visual Studio 2010

assembly - 将 8086 上的 %EAX 寄存器清零

regex - Unix find 不尊重正则表达式

ios - UIWebView - CFData 何时(或如何)发布?

c - 程序集-从字符数组中获取符号标签?

linux - LINUX 中基于 GUI 的 svn+diff 工具用于目录比较