在使用JSON过程中遇到的一个空间释放问题

在对完成的模块进行空间访问检查中发现了这个问题,这刚开始接触JSON的使用,也不知道他的内部实现,因此该问题找了好久,终于发现是每个节点创建都会自动开辟空间,因此造成空间未成功释放的错误。

JSON未成功替换节点空间释放问题

cJSON_ReplaceItemInObject(ties,"time", CJSON_CreateString(curtime));

在上述节点替换函数中,若ties节点内没有time节点,则会替换失败,新创建的CJSON_CreateString(curtime)节点不会加入到大节点上,因此递归释放根节点时,新创建的该节点不会被释放。

因此未成功挂载到根上的节点需要单独释放空间。

大家在项目中一定要养成空间随开随关的习惯啊

相关推荐
爱编码的小八嘎6 小时前
C语言完美演绎3-15
c语言
朱包林6 小时前
Python基础
linux·开发语言·ide·python·visualstudio·github·visual studio
海阔天空任鸟飞~7 小时前
蓝汛-BT897-添加按键提示音
c语言·单片机·蓝汛
biubiubiu07067 小时前
Linux / Ubuntu systemd 服务使用说明
linux·运维·ubuntu
MaximusCoder8 小时前
等保测评命令——Anolis Linux
linux·运维·服务器·网络·经验分享·安全·php
小付同学呀8 小时前
C语言学习(八)——C判断(switch语句)
c语言·学习·算法
zhojiew8 小时前
为agent实现渐进式Skills能力的思考和实践
linux·python·算法
相思难忘成疾8 小时前
《RHEL9虚拟机部署及SSH远程登录实践手册》
linux·运维·ssh·虚拟机
cg_ssh8 小时前
Vue3中样式变量的使用
linux·运维·服务器
balmtv9 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos