你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

MDK代码优化

[复制链接]
netlhx 提问时间:2015-7-28 11:04 /
如果工程文件中的某个函数,希望编译器在编译的时候,不做优化,有什么好办法么?
收藏 1 评论15 发布时间:2015-7-28 11:04

举报

15个回答
creep 回答时间:2015-7-28 11:40:36
本帖最后由 creep 于 2015-7-28 11:44 编辑

对某个变量加关键字volatile或者对某个文件单独设置优化等级!
1 选中文件
1.jpg
2 设置优化登记

2.jpg
你好我好大家好! 回答时间:2015-7-28 11:54:05
楼上说得对
Mandelbrot_Set 回答时间:2015-7-28 12:56:59
这样也可以:
#pragma push
#pragma XXXXXXX
#pragma pop
stary666 回答时间:2015-7-28 13:43:15
看看,,,,,,,,,,,,
moyanming2013 回答时间:2015-7-28 16:26:02
creep 发表于 2015-7-28 11:40
对某个变量加关键字volatile或者对某个文件单独设置优化等级!
1 选中文件

你这样的话对整个工程都不进行优化了!
楼主试一下:
#undef  levelxx
function()
{
...
}
#define levelxx
creep 回答时间:2015-7-28 16:44:43
moyanming2013 发表于 2015-7-28 16:26
你这样的话对整个工程都不进行优化了!
楼主试一下:
#undef  levelxx

我已经说了对某个单独的文件设置优化等级不是对整个工程,如果需要可以将不优化的函数都放在这个文件里。
netlhx 回答时间:2015-7-28 17:05:24
creep 发表于 2015-7-28 11:40
对某个变量加关键字volatile或者对某个文件单独设置优化等级!
1 选中文件

多谢
netlhx 回答时间:2015-7-28 17:05:36
netlhx 回答时间:2015-7-28 17:06:02
Mandelbrot_Set 发表于 2015-7-28 12:56
这样也可以:
#pragma push
#pragma XXXXXXX

多谢,能否再解释一句
netlhx 回答时间:2015-7-28 17:06:11
stary666 发表于 2015-7-28 13:43
看看,,,,,,,,,,,,

Mandelbrot_Set 回答时间:2015-7-28 17:13:59
netlhx 发表于 2015-7-28 17:06
多谢,能否再解释一句

参考手册(compiler user guide)吧:

#pragma Ospace
ARM Compiler toolchain v4.1 for µVision Compiler Reference
Home > Compiler-specific Features > Pragmas > #pragma Ospace

#pragma Ospace


This pragma instructs the compiler to perform optimizations to reduce image size at the expense of a possible increase in execution time.
[img][/img]Usage


This pragma enables you to assign optimization goals to individual functions.


[img][/img]Restriction


The pragma must be placed outside the function.

#pragma Onum
ARM Compiler toolchain v4.1 for µVision Compiler Reference
Home > Compiler-specific Features > Pragmas > #pragma Onum


#pragma Onum


This pragma changes the optimization level.
[img][/img]Syntax


#pragma OnumWhere:
numis the new optimization level.
The value of num is 0, 1, 2 or 3.




[img][/img]Usage


This pragma enables you to assign optimization levels to individual functions.


[img][/img]Restriction


The pragma must be placed outside the function.
#pragma Otime
ARM Compiler toolchain v4.1 for µVision Compiler Reference
Home > Compiler-specific Features > Pragmas > #pragma Otime


#pragma Otime


This pragma instructs the compiler to perform optimizations to reduce execution time at the expense of a possible increase in image size.
[img][/img]Usage


This pragma enables you to assign optimization goals to individual functions.


[img][/img]Restriction


The pragma must be placed outside the function.



#pragma push
ARM Compiler toolchain v4.1 for µVision Compiler Reference
Home > Compiler-specific Features > Pragmas > #pragma push


#pragma push


This pragma saves the current pragma state.
#pragma pop
ARM Compiler toolchain v4.1 for µVision Compiler Reference
Home > Compiler-specific Features > Pragmas > #pragma pop


#pragma pop


This pragma restores the previously saved pragma state.








Mandelbrot_Set 回答时间:2015-7-28 17:15:17
ctrl+C 效果那么差
netlhx 回答时间:2015-7-28 17:19:41
Mandelbrot_Set 发表于 2015-7-28 17:13
参考手册(compiler user guide)吧:

#pragma Ospace

明白了,非常感谢啊
yanhaijian 回答时间:2015-7-28 18:11:49
大家都在向高端发展了。
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版