首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]如何使某个函数禁止优化功能?

[求助]如何使某个函数禁止优化功能?

volatile修饰词作用于某个变量时,编译器是不优化它的,那么这个修饰词是否可以用来修饰函数呢?如果不能,要禁止对某个函数优化那么需要用哪个呢?
我要注册!!
volatile不是禁止优化, 只是表明某个变量是会問接地(如硬件状态或中断)改變的。要禁止优化某个函数, 是要开发工县支持, 在CW, 你可用#pragma OPTION
// 加 option "-Ont", new_handle是标纪, -Ont 可停止"TREE"优化
#pragma OPTION ADD new_handle "-Ont"
int sum (int max) {
...
}
#pragma OPTION DEL new_handle
// 删除 option "-Ont"

[灌水]谢谢斑竹

volatile修饰变量应该有两个作用:禁止编译器对其优化;变量可能被非程序的改变。
我要注册!!

如果要取消设置全局优化,或者设置优化程度

CW 可以在 Settings/Compile for/Option /Optimizations下设置[em27]
返回列表