资产监测设备中C代码ifelse容易忽略的隐藏bug

Posted 瑞奇Ricky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了资产监测设备中C代码ifelse容易忽略的隐藏bug相关的知识,希望对你有一定的参考价值。

众所周知软件方面的优化对设备具有重要作用,作为物联网技术设备的研发团队如果缺乏C代码中的基础知识,团队的工作人员基础知识不牢固的话,则后期的优化更无从下手。本期笔者以软件中的一个基础内容C代码ifelse容易忽略的隐藏bug为例,为更多从事资产监测设备开发的工作人员提供帮助。

客户在资产监测设备使用过程中,经常会提到关于定位精方式选择的问题,作为资产监测设备的研发团队,首先需要向大众介绍资产监测设备的定义。其次说明定位方式的选择,最后再结合本期提到的软件方面C代码相关问题,为后期相关开发人员在优化资产监测设备过程中能够更加高效。

资产监测设备简介:
资产监测设备是基于物联网无线通信技术,对资产的追踪提供新的解决方案。资产监测设备的主要功能包括了实时位置跟踪、震动报警、开箱报警、运输路径记录等功能,避免资产在运输过程中出现丢失等情况。资产监测设备被广泛应用于贵重物品运输监测、跨境物流运输跟踪等。

资产监测设备定位方式:
资产监测设备采用了WIFI/GNSS/LBS三种定位方式,这三种方式各有优缺点。其中WIFI定位适用于在wifi热点较多的地方的定位位置获取,比如市区商场等地方,LBS定位适用于定位精度要求不高的场景,可以作为辅助定位的手段之一。GNSS定位是适用范围最广的定位方式,适合绝大部分室外定位、远距离测量和实时导航场景下的应用。客户在选择资产监测设备过程中,可咨询销售公司,设备是否同时具备多种定位方式。

资产监测设备开发中C代码ifelse容易忽略的隐藏bug:
下面用一个示例作为说明:
if(0 == a)
if(0 == m) printf(“m is 0”);
else
printf(“a is not 0”);
这里本意很明显是希望a为0且m为0的时候打印m is 0.
a不等于0时输出a is not 0.
但是平时写判断语句只有一条执行语句时很容易就会为了省事就不写花括号。
这里就好导致else与if(0 == m)结合,输出就达不到实际想要的效果。

建议:
写判断语句时,不管多少条执行语句统一加上花括号,格式统一且避免出现隐藏问题。
通过以上内容,希望能够帮助到同样对资产监测技术感兴趣的人群。

以上是关于资产监测设备中C代码ifelse容易忽略的隐藏bug的主要内容,如果未能解决你的问题,请参考以下文章

Yunxion资产监测设备中串口上下拉问题

环境监测设备软件优化--C代码中隐藏的数值比较陷阱

资产监测设备中一种简单比较天线效率和大致辐射方向的相对办法

在Windows环境下,资产监测设备开发如何用C实现UCS2编码和解码的算法

资产监测设备中GPS的C/N0和SNR的关系

资产监测设备中130dBm的GPS信号注入天线端口,C/N0一般是多少?