初识文字池(literal pools)
来源:互联网 发布:知乎 未解之谜 编辑:程序博客网 时间:2024/05/29 08:26
1)ARM汇编中 literal pool (文字池)本质是什么
中文说明:
literal pool的本质就是ARM汇编语言代码节中的一块用来存放常量数据而非可执行代码的内存块。
英文说明:
Literal pools are areas of constant data in a code section。
(出自ARM官方文档《ARM Compiler armcc User Guide》)
2) 使用literal pool (文字池)的原因
当想要在一条指令中使用一个 4字节长度的常量数据(这个数据可以是内存地址,也可以是数字常量)
的时候,由于ARM指 令集是定长的(ARM指令4字节或Thumb指令2字节),所以就无法把这个4字节
的常量数据编码在一条编译后的指令中。此时,ARM编译器(编译C源程序)/汇编器(编译汇编程序)
就会在代码节中分配一块内存,并把这个4字节的数据常量保存于此,之后,再使用一条指令把这个4
字节的数字常量加载到寄存器中参与运算。
在C源代码中,文字池的分配是由编译器在编译时自行安排的,在进行汇编程序设计时,开发者可以自
己进行文字池的分配,如果开发者没有进行文字池的安排,那么汇编器就会代劳。
阅读全文
0 0
- 初识文字池(literal pools)
- Literal pools(文字池)(ARM 汇编)
- 浅谈ARM 汇编里的 literal pools(文字池)
- arm汇编中的literal pools .
- 线程池 Thread Pools
- Thread Pools 线程池
- 自动释放池(Autorelease Pools)
- 谈谈C99的新特征:复合文字(compound literal)和伸缩型数组
- 2.13 - [lex.literal] - 【词法.文字量】
- Using object pools(使用对象池)
- Autorelease Pools自动释放池概要
- Objective-C Autorelease Pools(自动释放池)
- android中使用对象池 ----- Pools
- 字面常量(literal constant)
- 数据源和连接池DataSource Objects and Connection Pools
- J2SE5.0中的线程库(Thread Pools)
- TYPE-POOLS
- Object Pools
- 基于线性表的查找法
- 解决百度导航SDK集成的问题
- java高级
- Java包装类 匿名类
- poj 1088-小白算法练习 滑雪 dfs记忆化
- 初识文字池(literal pools)
- [Xpaging]独立的前端分页插件,5KB大小,.NET Demo已写好
- write函数过程解析 __write_nocancel
- 第18篇:ui-router强制刷新当前路由
- 百练_2816:红与黑
- java基础之变量
- 正则入门2
- Django URL传递参数的方法总结(转)
- Jvm工作原理学习笔记