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

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

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

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

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

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

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

相关推荐
乌萨奇也要立志学C++9 分钟前
【Linux】进程间通信(三)System V 共享内存完全指南:原理、系统调用与 C++ 封装实现
linux·c++
Percep_gan10 分钟前
在Linux中安装字体
linux·运维·服务器
ZHANG13HAO32 分钟前
通过 MQTT 命令控制 RV1106 的 WebRTC 推流启停” 及 “30 分钟无命令自动停止”
linux
yolo_guo35 分钟前
opencv 学习: QA_01 什么是图像锐化
linux·c++·opencv·计算机视觉
cs麦子42 分钟前
C语言--详解--指针--下
c语言·数据结构·算法
清清&1 小时前
【Linux】冯诺依曼体系结构和操作系统的理解
linux·运维·服务器
aitoolhub1 小时前
考研论文引用格式 AI 校验实操:工具合集 + 技术原理
c语言·人工智能·考研·aigc
爱奥尼欧1 小时前
【Linux笔记】网络部分——NAT-代理-网络穿透
linux·网络·笔记
HalvmånEver2 小时前
Linux:基础开发工具(三)
linux·运维·服务器·开发语言·学习·gcc/g++
LCG元2 小时前
实战:用 Rsync 实现服务器间的高效增量同步与备份
linux