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

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

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

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

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

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

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

相关推荐
三万棵雪松14 分钟前
【Linux 物联网网关主控系统-Web部分(一)】
linux·前端·嵌入式linux
似水এ᭄往昔1 小时前
【Linxu】--进程优先级和进程切换
linux·运维·服务器
爱编码的小八嘎1 小时前
C语言完美演绎6-21
c语言
海参崴-1 小时前
Linux进程管理完全指南
linux·运维·服务器
kyle~1 小时前
Linux系统优化---PREEMPT_RT机器人开发方向
linux·运维·机器人
独隅2 小时前
在 Linux 上部署 TensorFlow 模型的全面指南
linux·运维·tensorflow
Strange_Head2 小时前
《Linux系统编程篇》Linux Socket 网络编程02 (Linux 进程间通信(IPC))——基础篇
linux·运维·网络
yiwenrong2 小时前
history 常见优化配置
linux
爱编码的小八嘎2 小时前
c.语言完美演绎6-22
c语言
Joren的学习记录3 小时前
【Linux运维大神系列】Kubernetes详解7(k8s技术笔记3)
linux·运维·kubernetes