发现了一个很奇怪的问题,应该和程序优化有关

2019-10-15 05:27发布

在使用mdk4.72编译程序的时候,发现程序在编译后出现了很多意想不到的问题,最近想做一个数字温度计,使用的是DS18B20,然后配合LCD HX8357D用于显示,之前已经能够正常显示数据,但就是因为一个数字显示的方式不好进行了修改(也就把变量变成了常量进行测试),却意外发现程序在没有进入main()的时候就卡死了,然后改回原来的样子也进不去了,把整个工程重新删了重建还是不行总是开在了下图所示的地方 2017-01-08 11-08-11.jpg
后来我把程序能注释掉的都注释掉了,程序变成了这个样子
2017-01-08 11-39-16.jpg
再次编译后进行调试发现还是卡在了这个位置
2017-01-08 11-13-35.jpg
同样的一句话,就是过不去,这是为什么呢?
然后在写程序的时候发现,这个MDK的优化功能太讨厌了,程序莫名其妙的把一些变量优化掉了,在写AT24C02和DS18B20时通过把u16、u8改成vu16、vu8后才可以运行成想要的结果,在网上查过说是这样在优化的时候MDK就会特别注意,避免被优化掉,那么我想这个问题应该也是程序优化的问题吧,要怎么解决呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。