(资料图片仅供参考)

使用全局变量相对局部变量效率更高,函数的局部变量一般处于函数内部,在调用过程中存在入栈与出栈的情况,这样就增加了函数调用的耗时,而全局变量直接访问效率更高。

当然全局变量是程序中要非常小心使用的,滥用全局变量的行为确实会增加系统各模块之间的耦合,所以在程序中要规范全局的统一接口使用。

同时对于变量类型的使用也是大家需要注意的,数据类型不是越大越好,比如uint64_t的处理汇编生成代码就相对比较多,执行效率一般比短数据类型要低,尽量选择芯片相同位数的数据类型处理,当然大部分更小的数据长度也是合适的。

我们都知道if-else语句是最常用的分支语句,其特点就是逐一判断,既然是判断就会消耗时间,然而对于一些处理并不是每个分支都是均匀执行的,如果你把频繁执行的相应分支放到后面,势必就需要执行较多前面的逐一判断,从而降低代码执行效率。

所以我们要对各个分支的执行频率进行评估,把最有可能执行的放在判断语句前面执行。

同样对于分支语句多级嵌套的情况,我们需要把频率性对较高的放到外层,频率低的放内层,这样减少不必要的外层判断。

而宏就能节省参数压栈、返回参数、C语言call调用以及执行return的操作步骤,从而提高程序的运行效率。

来源:嵌入式情报局

版权归原作者所有,如有侵权,请联系删除。

推荐内容