[trouble shoot]atol和atoll

就最终的结果来看,其实就是一个小的错误。

但定位错误的时间比较漫长了。。。

背景:出错的代码是 一段运行在 linux 服务器上的程序,程序的主要功能是处理银行pos刷卡记录并做一些计算,最后汇总、格式化输出。

该公司是和银行打交道的,接的项目都是银行的。


来公司的第二天(第一天熟悉环境,啥也没干)老板就给了我一个2000多行的纯c程序,一个测试出错的测试文档 和 出错的输出结果。

由于历史的原因。。。。。该段程序经过多人的补补修修,一个没有头文件,木有代码复用,2000多行的一个主文件。。。。。。

加上我是刚来的不懂业务知识,连测试用例都看不懂,像是在看天书。

我试着用vs打开程序,我靠,无法在windows下运行,里面调用的很多linux系统中的库函数。。。。

还好我会linux,我windows下装有cygwin,窃喜。。。。

程序运行环境不是问题了,也可以正常运行,我就开始追踪bug吧,我也不知道哪里有错误啊,我不懂业务知识,也不知道正确结果是啥啊。。。果断去问老板,哪里结果不多了。。。。

好了,知道哪里出错了,接下来就是定位它了,在vim下看代码,还是不错的,就当再熟悉熟悉vim了,发现代码里的变量名 还有函数名我都看不懂啊,发现做程序员业务知识不能不懂啊。。。硬着头皮啃吧,


找到了一些和错误信息相关的变量了,就开始gdb调试了。。。。。。。。。。

。。。。。

最终锁定了问题的出错地点:atol函数。。。哈哈 。。。。

该段程序就是处理 的数据 都是 从银行 获取的, 比如pos卡消费信息。。。里面都是大数,atol()函数只支持8位啊,换成atoll()就好拉。。。。

总结:

溢出不会程序不会报错,只会导致结果不正确,一定要注意溢出,接受这次的教训

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shoot method”是指摄影中的一种拍摄技巧或方法,该方法旨在捕捉快速运动或动作的瞬间。它不仅适用于体育摄影,还可用于捕捉飞鸟、奔跑的动物或任何其他需要快速反应和准确时机的场景。 在使用shoot method时,摄影师需要具备以下几点技巧和准备: 1. 预拍规划:摄影师需要提前观察拍摄场景,了解物体的运动路径和速度。他们应该选择一个有利的拍摄角度,并对光线、背景等因素进行预先调整。 2. 快速对焦:为了捕捉动作的瞬间,摄影师需要熟悉相机的对焦系统,并能快速准确地对焦。使用连续对焦(AF-C)模式可以帮助保持被摄物体的清晰度,并确保动作序列中的每一帧都准确聚焦。 3. 快门速度:为了冻结快速运动,摄影师需要使用较高的快门速度。这可以通过增加ISO值、打开快门优先模式或使用快速快门固定位置来实现。 4. 连续拍摄:使用连续拍摄模式可以增加成功捕捉运动的几率。摄影师可以通过持续按下快门按钮来连续拍摄一系列照片,然后在后期选取最佳的那一帧。 5. 比例和构图:快速运动时,摄影师需要考虑动作的比例和合适的构图。他们可以通过调整焦距、选择适当的图像剪裁或使用高速连拍来实现。 通过掌握这些技巧,摄影师可以发挥shoot method的优势,捕捉到精彩的瞬间,并呈现出令人惊叹的视觉效果。无论是在体育赛事、自然生态还是其他活动中,shoot method都是一种有力的工具,帮助摄影师记录下运动中的精彩瞬间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值