写出优化的ARM架构上的C代码
2014-08-17 14:52
399 查看
通过一定的风格写C语言例程,我们可以让C编译器生成更快的ARM代码。我们在写ARM架构上的C代码时,需要注意一下几点,就可以让你的C代码更好的运行在ARM架构的处理器上:
1. 使用unsigned和signed的int类型来定义局部变量,函数参数和返回值。
2. 最有效地的循环形式是使用循环计数下降为零的do-while。
3. 展开重要的循环以减少循环开销
4. 不要指望编译器来优化重复的内存访问,通常指针别名可以避免这个
5. 争取把函数参数限制在四个之内,函数的参数存放在寄存器里才会被调用的更快速
6. 让结构的成员以从小到大的顺序排列,尤其是编译Thumb指令时
7. 不要使用位域,使用掩码和逻辑操作替代之
8. 避免除法,使用乘法倒数替代之
9. 避免不对齐数据,如果数据不对齐使用char*型的指针
10. 在C编译器里使用内联汇编来访问指令,或者优化C编译器不支持的部分
1. 使用unsigned和signed的int类型来定义局部变量,函数参数和返回值。
2. 最有效地的循环形式是使用循环计数下降为零的do-while。
3. 展开重要的循环以减少循环开销
4. 不要指望编译器来优化重复的内存访问,通常指针别名可以避免这个
5. 争取把函数参数限制在四个之内,函数的参数存放在寄存器里才会被调用的更快速
6. 让结构的成员以从小到大的顺序排列,尤其是编译Thumb指令时
7. 不要使用位域,使用掩码和逻辑操作替代之
8. 避免除法,使用乘法倒数替代之
9. 避免不对齐数据,如果数据不对齐使用char*型的指针
10. 在C编译器里使用内联汇编来访问指令,或者优化C编译器不支持的部分
相关文章推荐
- 【处理器体系架构系列】ARM流水线关键技术分析与代码优化
- ARM高效C编程和优化--系统架构,C代码规范
- 嵌入式开发中ARM架构的C代码优化
- 嵌入式开发中ARM架构的C代码优化
- Linux 3.14的设备树-ARM架构-4412平台,最详细的实战开发代码(三)
- 依赖倒置原则:避免写出架构糟糕的代码
- 关于嵌入开发中ARM的C代码优化
- CSS优化,如何写出高效整洁的CSS代码
- ARM流水线关键技术分析与代码优化
- 疯狂代码,大型网站架构系列之三,多对多关系的优化设计
- 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
- 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
- 从一个简单的例子体会ARM环境下的C代码优化
- 不谈架构,看看如何从代码层面优化系统性能!
- arm架构下spinlock原理 (代码解读)
- 写出优美代码的两个方式:一步到位VS迭代优化
- ARM流水线关键技术分析与代码优化
- ARM流水线关键技术分析与代码优化
- 用冒泡的方式对数组进行排序, 并写出对应的优化后的代码实现。(重点写思路、原理)
- 一些js代码优化方法,写出一手优雅的代码