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

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

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

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

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

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

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

相关推荐
小杜的生信筆記8 分钟前
生信服务器 | 做生信为什么推荐使用Linux服务器?
linux·运维·服务器
WangY_ZQ39 分钟前
Python 如何在Python 3.6上安装PIP
linux·python·pip
小狗祈祷诗1 小时前
day36-多路IO复用
linux·ubuntu
冰羽IOX1 小时前
Xen Server服务器释放磁盘空间
linux·运维·服务器
JenKinJia1 小时前
镜像里切换为普通用户
linux·运维·服务器
tiwolf_li1 小时前
Ubuntu里面单独编译某一个模块
linux·运维·ubuntu
fen_fen1 小时前
Ubuntu Linux环境查看服务器资源,查询CPU,内存,环境变量等命令
linux·运维·服务器
Demisse3 小时前
[Linux] 命令行管理文件
linux
Rob1nKool3 小时前
Linux文件管理和输入输出重定向
linux·运维·服务器
月疯3 小时前
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
linux·ubuntu·flask