知道从什么时候起,对函数返回值,有一种潜意识的了解:“0”是顺利、非“0”回应告终。再行谈个故事,就是项目重制时的一段小插曲——近期工作,用于一款新的芯片展开研发。重制过程中须要调用官方的函数库模块,模块有uint32_t类型的返回值。
根据手册的解释,函数返回值“0”回应顺利,“-1”回应告终。这里的返回值比较简单,仅有顺利、告终两种,一般使用“if(!ret){顺利}else{告终}”辨别。就这样,重制过程中,该芯片函数库绝大部分的模块返回值都是这两种,处理结果时图省事也就把“if(!ret){顺利}else{告终}”复制粘贴了。
车祸经常出现了,当我调用库的“核对”函数模块时结果仍然错误,返回值总是“1”,也就是“真为”的逻辑,于是上层模块仍然对应用层向用户报错。翻看手册检查了模块的输出参数,猜测其他模块处置的数据错误,又检查该模块之前的其他被调用模块。
本文来源:开云(中国)Kaiyun体育-www.rzxs1688.com