代码自我检查

0.使用debug查看哪些代码不能运行,是否有逻辑上的错误或者有优化的余地;
1. 未预料的编译器优化
以前调试程序时遇到的问题。先是这样写,希望将io_status 的低三位分别保存到a0/a1/a2,
a0 = (io_status << 7) >> 7;
a1 = (io_status << 6) >> 7;
a2 = (io_status << 5) >> 7;
实际测试后发现全部被优化成:
a0  =  a0;
a1  >> 1;
a2 >> 2;
这显然不是期望的结果,这种问题有点隐蔽。

2. && 与 ||是否用对;

3.例如 for(i=0; i< 13; i++);中到底应该是i<13还是i<=13搞清楚;

posted @ 2018-05-09 16:05  巴克队长  阅读(192)  评论(0编辑  收藏  举报