我正在学习汇编和低级编程,并阅读有关它的书.据说我们可以将任何数据放在elf文件的.text部分中,但当然我们不能因为页面/段的不同权限而改变它.但是没有告诉那里,因为在.text部分内部有数据的原因是什么.许多C++程序员也告诉我g ++编译器
static const char DATA[] = "SOME DATA";
也在.text部分内.我想知道,为什么不将这些数据放在.rodata部分,目的是什么?如果使用.text,那么.rodata中应该存储什么?
主要问题是在长模式下的这种行为.
传统上,只读数据放在文本部分中有两个原因:
在ELF目标上,该方案进行了一些修改.只读数据现在放在新的.rodata部分,就像.text部分一样,除了它也无法执行,防止某些攻击向量.优势仍然存在.
| 归档时间: | 
 | 
| 查看次数: | 341 次 | 
| 最近记录: |