程序优化就没有问题,不优化反而有问题?

好客吧 2018-04-24 12:11:29
写了程序进行1级优化,烧录后,程序没有问题,可以正常执行。而取消优化,烧录后,程序不停地复位,好像1秒一次的感觉。为啥会有这种情况呢?望大家帮忙解答。
...全文
665 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
好客吧 2018-05-08
  • 打赏
  • 举报
回复
在使用TI的芯片TM4C123GE6PZ,使用UC/OS-II操作系统,在一个任务中使用浮点数运算。这款芯片的规格书有说,浮点数会进(MSP),不会进(PSP),但我只在一个任务中使用浮点数而已(浮点数模块也使能了),即时被调度,浮点数也就只进一次主堆栈(MSP)吧? 1、屏蔽浮点数就不会有问题; 2、增加浮点数禁能入堆栈也不会有问题; 3、优化就没问题,不优化就会不停地导致看门狗复位。
cp1300 2018-04-28
  • 打赏
  • 举报
回复
上代码,这怎么凭空诊断呢?
baowxz 2018-04-24
  • 打赏
  • 举报
回复
专业写bug小能手,哈哈哈;代码优化后能够处理部分显性的error,不优化则不处理,比如野指针,数组溢出神马的,优化后可能会对这些错误进行异常处理,而不优化运行到哪就是哪
fly 100% 2018-04-24
  • 打赏
  • 举报
回复
优化之后整个执行文件就小了,检查下是不是不优化的代码区间已经冲了栈空间导致程序执行错误的
ckc 2018-04-24
  • 打赏
  • 举报
回复
这种情况比较少见 不过能重现的故障一般都比较容易解决。 简化你的代码,先跑其中的一部分看还有没有这个错,还有错就继续简化,没错了就加多点代码 这样就可以定位到错误是在哪一部分代码中了,仔细看这一部分代码,多半还是代码中有写的不太好的地方 或者把这一部分代码分别用无优化和1级优化编译出汇编代码来,比较有什么差异

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧