为什么可执行文件要分段

发布于 2021-09-09  36 次阅读


常见,关键,但十分表层的理由是,为了区分可写和只读区域,防止有意或者无意或者恶意的修改

更深层的理由是为了提高CPU分支预测的准确率

指令缓存的造价与数据缓存的造价差异较大,而且分支预测的前提是尽量多的了解已经执行的操作

分类很有利于这种了解

最重要的原因和链接的原因很相似

为了只保存一份代码,副本只需要复制数据区