确定符合程序调用规范.ppt

ARM 编程技巧 Agenda ARM 编译器优化 C/C++和汇编混合模式编程 使用ARM编译器编码 局部和全局数据讨论 优化级别 使用的编译器优化级别是可选择的 -O0---DEBUG 关闭大多数优化. 最好的调试信息,最少的优化 -O1---DEBUGREL 多数优化选项许可 给一个满意的调试,好的代码密度 -O2---RELEASE (default) 完全的优化 有限的调试信息,最好的代码密度 为代码大小或运行速度的优化,可选择: -Ospace (默认的)或 -Otime. 使用-g 选像可包含源码级调试信息 自动优化 ADS 编译器在所有级别中执行一些简单的优化 i.e. -O0, -O1, -O2 下面是一个例子:即使用-O0,多余的表达式也被清除了: ATPCS标准中子程序结果返回规则 结果为32位整数,R0返回 结果为64位整数,R0,R1返回 位数更多时,用内存来传递 …… 使用 “volatile” 冗余代码的清除 下面是一个冗余代码清除的例子,他只用了-o1的优化选项: 指令编排 指令编排在高级优化选项中是有效的(-O1, -O2). 指令的重新编排是为了使要运行的代码更适合对应的核 为arm9和以后的处理器提高吞吐量(一般可达到4%),并防止互锁(interlock) 选择处理器可决定使用的运算法则,在默认情况下,使用针

文档评论(0)

1亿VIP精品文档

相关文档