通过一定的方法来编写C程序,可以帮助C编译器生成执行速度更快的ARM代码。下面就是一些与性能相关的关键点:
1.对局部变量、函数参数和返回值要使用signed和unsigned int类型。这样可以避免类型转换,而且可高效地使用ARM的32位数据操作指令。
2.最高效的循环体形式是减计数到零(counts down to zero)的do-while循环。
3.展开重要的循环来减少循环的开销。
4.不要依赖编译器来优化掉重复的存储器访问。指针别名会阻止编译器的这种优化。
5.尽可能把函数参数的个数限制在4个以内。如果函数参数都存放在寄存器内,那么函数调用就会快得多。
6.按元素尺寸从小到大排列的方法来安排结构体,特别是在thumb模式下编译。
7.不要使用位域,可以用掩码和逻辑操作来替代。
8.避免除法,可以用倒数的乘法来替代。