#pragma LOOP_UNROLL指令的应用
发表:2023-08-29 11:59:45 阅读:69

#pragma LOOP_UNROLL(对应的另一条指令是N0_LOOP_UNROLL)该指令对紧随其后的函数中的循环程序进行优化,从字面解释就是将循环打开、打散,该指令与编译器选项设置.Cu功能一样,设置方法为Compiler for HC08→Options→Optimiza-dons→Loop Unrolling),循环优化设置程序范例如下。

#pragma LOOP_UNROLL

void f(void){

for(i=0;i

{//循环体程序;}

}

在循环次数LpCounter已知的情况下,比如1000次,如果适当修改循环体程序,使得循环体程序更长一些,比如将循环l0次的功能写入循环体程序,则可以减少循环次数到IOC次。而众所周知,循环是系统资源的最大杀手,循环次数的减少具有很实际的意义。实际应用中,每次循环的运算次数也不一定是越多越好,循环次数对每一个应用有一个最佳的设置。手动优化需要根据具体情况反复试验,因此可以设置LOOP—UNROLL选项,将这个工作交给编译器去做。

 

阅读更多请您关注:

使用关键字interrupt和中断号配合的方法

C语言的#pragma预编译指令

#pragma CODE—SEG指令的用法

freescale代理