嵌入式领域要有的软件意识
1. 你熟悉你所用的编译器吗?
比如说,做division 和modulus 运算时,怎么写效率足以高。
例:
对于ARMCC编译器就有以下结果:
typedef struct {
int x;
int y;
} point;
point getxy_v1(unsigned int offset, unsigned int bytes_per_line)
{
point p;
p.y = offset / bytes_per_line;
p.x = offset - p.y * bytes_per_line;
return p;

本文通过一道嵌入式工程师面试题,探讨了编译器如何影响代码效率,特别是在处理struct和算术运算如division及modulus时。以ARMCC和IAR ARM 4.41A编译器为例,展示了不同编译器对同一段代码优化的差异,强调了理解编译器特性的关键性。
最低0.47元/天 解锁文章
1535

被折叠的 条评论
为什么被折叠?



