- 博客(6)
- 收藏
- 关注
原创 问题记录:snprintf函数返回值>内存限制size问题
在c编程中,我一般使用snprintf()函数往数组(或字符串)里写入数据,不使用sprintf,因为sprintf稍不注意就会导致内存溢出。 但是在snprintf通过返回值直接去获取格式化的数据长度,是个不严谨的操作,不符合防御性编程的思想。这是由于在超出指定的内存长度后,后续的数据将不会被格式到内存中,即被格式化后的数据被截断了,这时snprintf返回的不是保存到内存中的格式化数据长度,而是整体格式化数据的长度,所以会出现返回值>内存限制size的情况。测试例程:#define AP.
2022-04-20 17:00:45
619
原创 工作日常记录:整数有符号数除以无符号数的那些事
问题 :32位有符号数作为被除数,16位无符号数作为除数,计算结果正常,但是当32无符号数作为除数就出出现异常情况原因:造成这种异常的原因是c语言的隐式数据类型转换1、c语言规定 , 不同类型变量进行运算,长度较小类型的数据会被转为长度较大类型的数据参与运算2、c语言规定 , 不同类型变量进行运算,相同长度类型的有符号数会被转为无符号数参与运算总结:在数据运算中,特别是除法运算中,一定要尽量避免不同类型数据之间进行运算处理,如果一定要不同相关数据间进行运算处理,建议先将数据强制转换为相同类型再参与
2022-02-18 12:04:03
791
原创 日常工作记录-NRF52832开发,按键q
**注:**这只是工作中遇到的问题记录**注:**以下只代表个人观点,不一定完全正确。**注:**以下内容为通过程序确定,但不排除会与其他文章或者记录雷同,如有侵权,请及时联系删除(邮箱:1101919300@qq.com)NRF52832按键驱动与GPIO读取程序,按键驱动程式使用的是官方库中自带的代码,将按键个数限制为1个,然后再main循环中读取另一个引脚,在做按键快速多次按下测试中,出现了代码跑飞问题,原因还在查找中。...
2021-11-17 16:17:30
261
原创 日常工作记录:单片机中的动态内存释放指针 不是NULL
**注:**这只是工作中遇到的问题记录**注:**以下只代表个人观点,不一定完全正确。**注:**以下内容为通过程序确定,但不排除会与其他文章或者记录雷同,如有侵权,请及时联系删除(邮箱:1101919300@qq.com)free函数释放后 ,释放掉的内存指针,虽然内存被释放掉了,但是指针的值并没有改变,为了避免内存泄漏,我一遍会在程序返回时第二次通if(p != NULL) free...
2020-01-03 10:45:49
352
原创 菜鸟日常工作中的记录,cjson结构内存中的释放问题
cjson结构在内存中的释放 **注:**以下只代表个人观点,不一定完全正确。 **注:**以下内容为通过程序确定,但不排除会与其他文章或者记录雷同,如有侵权,请及时联系删除 (邮箱:1101919300@qq.com)1、在cjson中释放内存时,只需要释放父节点就可以,不需要专门管理子节点,子节点会随着父节点的释放一并释放掉。2、cjson中的string类型...
2019-12-28 17:35:26
3249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人