使用keil c51怎么设置单个函数的优化等级呢?下面小编就将和大家一起分享keil c51设置单个函数优化等级的方法,有需要的朋友可以来看看哦,希望可以帮助到大家。
首先,在Keil中新建一个C51工程,同时加入一个main.c的源程序文件。
在main.c当中输入下面的代码,其中testFun用于代码优化效果比较:
int testFun(int in){ int i = 0; int j = 0; int k = 0;
int result = 0;
for(i = 0; i < 100; i ++) { for(j = 0; j < 100; j ++) { for(k = 0; k < 100; k ++) { result = i * j * k * in; } } }
return result;}
void main(void){ testFun(123);}
点击菜单栏的编译按钮,在最下面会出现code=XXX,后面的XXX就是容量,这里code=125,编译的代码容量为125字节,这是默认的优化效果。
在testFun前加入#pragma OT(1),设置代码优化等级为1,那么函数testFun将以优化等级1进行重新优化。
再次点击菜单栏的编译按钮,编译完成后依然会在下面的Output窗口显示优化效果,容量变为code=190,即使用优化等级1,代码容量变大了,也就是优化等级1的容量较默认效果差。
将#pragma OT(1)改为#pragma OT(8),即将代码优化等级由1改为8,重新编译,可以看到代码容量变为了125字节,这个对于容量而言明显比1级优化的效果190字节好。
以上就是小编分享的keil c51设置单个函数优化等级的方法,还不会的朋友可以来学习一下哦。