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

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

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

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

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

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

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

相关推荐
爱丶狸5 小时前
Grafana_Zabbix_ImageRenderer_部署与前端操作手册
linux·前端·zabbix·grafana·kylin
k4m7v2pz7 小时前
把 Bevy 0.14 游戏移植到 R36S 掌机:一场与“无窗口系统“的搏斗
linux·rust·bevy·r36s·rk3326·开源掌机
木子欢儿8 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
五阿哥永琪8 小时前
MySQL中操作json的函数!
数据库·mysql·json
会编程的土豆11 小时前
Go 模板初识
linux·运维·服务器
2601_9555181811 小时前
C语言标准演化史:从K&R到GNU,谁才是正统?
c语言·gnu·标准演化·ansic·性能与可移植性
程序员zgh12 小时前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
regret~13 小时前
【记录】网络路由、转发与网卡隔离
linux·服务器·网络
aFakeProgramer13 小时前
Linux版本兼容问题及RTA-VRTE环境配置笔记
linux·笔记
Zhu75813 小时前
在Ubuntu24快速配置专用SFTP
linux·sftp