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

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

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

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

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

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

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

相关推荐
hhb_6181 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
Rcnhtin1 小时前
RocketMQ
java·linux·rocketmq
AC赳赳老秦2 小时前
OpenClaw多平台部署:Windows+Linux跨系统协同,实现全场景覆盖
linux·服务器·前端·网络·windows·deepseek·openclaw
念恒123062 小时前
进程--程序地址空间下篇(进程地址空间)
linux·c语言
爱编码的小八嘎2 小时前
C语言完美演绎8-20
c语言
___波子 Pro Max.2 小时前
Linux 外挂 SSD 根目录下的 `.Trash-1000` 到底是什么
linux
hhb_6183 小时前
Linux底层运维自动化挂载与磁盘分区实战指南
linux·运维·自动化
cui_ruicheng3 小时前
Linux库制作与使用(二):ELF文件与链接过程
linux·运维·服务器
ReaF_star3 小时前
【环保】CentOS 7 安装 MySQL 8 实战记录:从安装到排障一次讲清
linux·mysql·centos
怀旧,4 小时前
【Linux系统编程】18. Linux进程信号(上)
linux·运维·服务器