Les*_*ker 3 assembly
在大会上,关于内存,代码,数据,段等的理论辩论很多.
直言不讳是完全没有意义的.
什么是代码,文本,数据等?
我已经阅读了教程,他们只关注应用程序,而不是代码在100%的书面文字下做的事情.
我不能成为大会程序员,这是不清楚的; 做任何教程都能更好地澄清一下吗?
Car*_*rum 7
好吧,所以这些东西中的一些有点主观,因为它可能因系统和工具链而异,但是:
代码和文本通常是同义词,意思是"此部分/段包含可执行代码"
数据通常表示"此部分/段包含非可执行数据"
如果您的硬件支持它,数据部分加载到的内存页面可能会被标记为"不可执行",因此如果您的程序试图跳转到该区域,它将立即崩溃而不是做一些疯狂的事情.
同样,代码/文本部分可能将其页面标记为"只读",因此程序不会意外地修改它们.有些系统也有"只读数据"部分,它们放置字符串文字和常量变量,依此类推.
最极端的例子可能是哈佛架构,其中代码和数据存储器不是同一物理设备.
归档时间:
12 年,8 月 前
查看次数:
3657 次
最近记录: