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

编程奇葩问题

[复制链接]
黑皮男 提问时间:2016-10-10 17:02 /
有如下一段代码,只要把第3行和第四行注释掉,运行到第五行时,wm的值就会被修改。之前已经调用过一次wm=MUI_GetWm(data->parent_id);wm是一个指针,指向一个结构体。

/* 1 */ if(save_flag[(wm->id)]!=1){
/* 2 */        save_flag[(wm->id)]=1;
/* 3 */        temp = wm->context.start_id;
/* 4 */        wm=MUI_GetWm(data->parent_id);
/* 5 */        msg_buf[MSG_HEAD_LENGTH]=temp;
/* 6 */        msg_buf[MSG_HEAD_LENGTH+1]=0;
/* 7 */        msg_buf[MSG_HEAD_LENGTH+30]=wm->id;
/* 8 */        msg_buf[MSG_HEAD_LENGTH+31]=DATA_SAVE_FLASH;        
/* 9 */        M_FlashEraseSector(DATA_FLASH_BASE/FLASH_SECTOR_SIZE+wm->context.start_id);
/* 10 */        M_FlashBufferWrite(msg_buf+MSG_HEAD_LENGTH, DATA_FLASH_BASE+wm->context.start_id*FLASH_SECTOR_SIZE, data->len+DATA_PARAMS_SIZE);
/* 11 */ }

收藏 1 评论17 发布时间:2016-10-10 17:02

举报

17个回答
黑皮男 最优答案 回答时间:2016-10-12 15:41:26
测了一下,确实,是优化导致的,功能没影响

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

黑皮男 回答时间:2016-10-10 19:59:31
moyanming2013 发表于 2016-10-10 17:48
有可能是编译器优化导致,但不会影响结果。你也可以看下对应的汇编代码核实。 ...

回头我再试试,多谢了
黑皮男 回答时间:2016-10-24 15:10:10
andrewz 发表于 2016-10-24 12:25
一般我写程序都不开优化,因为不知道会被优化成什么样子.

我这也是为了缩减代码量
andrewz 回答时间:2016-10-24 12:25:19
一般我写程序都不开优化,因为不知道会被优化成什么样子.


st.png
moyanming2013 回答时间:2016-10-10 17:48:59
有可能是编译器优化导致,但不会影响结果。你也可以看下对应的汇编代码核实。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

埃斯提爱慕 回答时间:2016-10-10 18:13:39
提示: 作者被禁止或删除 内容自动屏蔽
assssdz 回答时间:2016-10-10 22:56:28
:)
zhangdaijin 回答时间:2016-10-11 05:42:07
zfz9232 回答时间:2016-10-11 08:31:29
围观围观
txywqp2015 回答时间:2016-10-11 09:00:44
围观
高二毛 回答时间:2016-10-11 10:32:57
围观一下,呵呵
andrewz 回答时间:2016-10-22 13:17:51
一般写程序都没开优化.
黑皮男 回答时间:2016-10-22 13:20:30
andrewz 发表于 2016-10-22 13:17
一般写程序都没开优化.

我开了优化
高二毛 回答时间:2016-10-22 13:28:42
功能没有影响就OK。那就是汇编部分给处理了,编译器在线debug调试可能还是不够完善
zbber 回答时间:2016-10-22 22:33:40
围观一下,呵呵
12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版