float 与 int 相乘产生的令人崩溃的“ 2.3 * 10 = 22 ”

您所在的位置:网站首页 uint转int会变成 float 与 int 相乘产生的令人崩溃的“ 2.3 * 10 = 22 ”

float 与 int 相乘产生的令人崩溃的“ 2.3 * 10 = 22 ”

#float 与 int 相乘产生的令人崩溃的“ 2.3 * 10 = 22 ”| 来源: 网络整理| 查看: 265

越是简单的越不能忽视 类型强转一定要 注意! 注意! 注意!

以上两天结论前前后后花了我三天工作时间才让我意识到并学到。 有的时候,不管你小心还是无意,坑就在那里,踩的人够多,也许就填平了。 在工作中,分配到一个bug,简单描述一下:该程序很庞大,由QT编写,跨平台,支持ubuntu和windows,其中一个模块需要控制海康摄像头,代码中有海康的SDK。bug的现象是无法设定到指定的摄像头调焦倍数与焦距,表现就是摄像头模糊不清,无法正常拍摄,且只在windows下发生。 本文由以下部分组成:

调试步骤 SDK验证 2.3 * 10 = 22 调试步骤 工程代码缺陷

bug刚刚拿到手,看了遍代码,一个显而易见的缺陷暴露出来:

开环式代码

什么是开环式代码? 简单来看,这部分代码就是这样的:

Created with Raphaël 2.2.0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3