打印
[软件资料]

如何单独限制某函数的优化级别

[复制链接]
344|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2023-7-25 09:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在一个源文件中如何对某一函数进行优化的限制,看资料上说是用#pragma [no_]Onum可以,但是当我使用#pragma no_Onum时候总是通不过,提示有错误。

比如

#pragma O0
BOOLEAN SearchKeyWordFromHead(INT8U *ptr, INT16U maxlen, char *sptr)
{
if (*sptr == 0) return FALSE;
while(maxlen > 0) {
if (*ptr++ == *sptr++) {
if (*sptr == 0) return TRUE;
} else {
return FALSE;
}
maxlen--;
}
return FALSE;
}

#pragma no_O0

总是提示#pragma no_O0有问题,如果不使用#pragma no_O0的话就成了把整个下面的函数都一样的优化级别了!

那位大虾知道怎么弄,指点一下。

使用特权

评论回复
沙发
pssyx| | 2023-7-27 10:11 | 只看该作者
本帖最后由 pssyx 于 2023-7-27 11:55 编辑

MDK开发平台吗?#pragma O0就表示不对以下代码进行优化,如果想更改其它代码的优化等级,直接#pragma Ox即可,Ox可以是Keil工程下设置的代码优化等级,比如O1~O3,没有no_O0此类的关键字。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

658

主题

2751

帖子

0

粉丝