打印
[技术问题解答]

codeworrior 如何使用局部优化

[复制链接]
1321|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
peihua12344|  楼主 | 2015-4-1 16:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Codewarrior , 使用的是KL16Z64 , 工程全局使用O1优化级别,我想在某一函数前或者文件开头调用局部的优化代码如下,
#pragma GCC push_options
#pragma GCC optimize ("O0")    //可选O0(不优化), O1, O2, O3, O4
//insert my code here
#pragma GCC pop_options

来进行局部不优化的功能
但是行不通· 代码仍然被优化。请各位前辈指教,或者有没有其他的办法,达到同样的效果·

相关帖子

沙发
FSL_TICS_ZJJ| | 2015-4-1 17:15 | 只看该作者

楼主,#pragma GCC pop_options这个是报警,所以你用给下面的:
#pragma GCC push_options
#pragma GCC optimize ("O0")  
//insert my code here

#pragma GCC reset_options


使用特权

评论回复
板凳
peihua12344|  楼主 | 2015-4-1 17:57 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-4-1 17:15
楼主,#pragma GCC pop_options这个是报警,所以你用给下面的:
#pragma GCC push_options
#pragma GCC op ...

能否解释一下这几句代码的意思·?
还发现一个问题,按照理论,如果全局进行优化,工程大小是9点几KB,然后再使用以上三句代码,工程大小应该是大于9点几KB,因为我是放在整个.C文件的开头和结尾。事实上编译之后反而是8.几 KB 。呵呵··· 有点不理解的· :lol

使用特权

评论回复
地板
FSL_TICS_ZJJ| | 2015-4-2 10:08 | 只看该作者
peihua12344 发表于 2015-4-1 17:57
能否解释一下这几句代码的意思·?
还发现一个问题,按照理论,如果全局进行优化,工程大小是9点几KB,然 ...

这个代码在CW根目录的文档中有讲:
C:\Freescale\CW MCU v10.6\MCU\Help\PDF
MCU_Kinetis_GCC.pdf
Table 5-3. Equivalent Pragmas
我觉得优化,你需要查看他的汇编,比如你搞一小段,看看不优化和优化,这段同样的C代码对应的汇编有什么区别。

使用特权

评论回复
5
FSL_TICS_ZJJ| | 2015-5-13 15:05 | 只看该作者
   非常感谢你关于IDE的技术问题。如果你没有其他问题,我们将此帖默认为已解决.

使用特权

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

本版积分规则

6

主题

36

帖子

0

粉丝