我正在读一本装配书.该书解释说,在计算机内存中有.text和.data部分.本书中的一个例子也使用以下源代码.
[SECTION .data] [SECTION .text]
因为上面的代码片段是在汇编中编写的,所以我有一个问题.
在物理内存中分别编写.data和.text代码(如果是这样,为什么?并且cpu关心?)?或者只是我们(人类)用汇编语言分隔它们?
解决方法
应用程序的文本部分是只读的,而数据不是.无论应用程序启动多少次,许多操作系统都将文本部分加载到内存中.这减少了内存使用和启动时间,并且是安全的,因为代码不会改变. 数据部分包含可在应用程序执行期间更改的信息,并且必须为每个实例复制此部分.