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

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

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

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

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

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

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

相关推荐
㱘郳11 分钟前
VS Code 的setting.json的预配置
json
caimouse20 分钟前
Reactos 第 4 章 对象管理 — 4.5 几个常用的内核函数
c语言·windows·架构
x1387028595735 分钟前
c语言排雷游戏(基础版9*9)
c语言·算法·游戏
caimouse1 小时前
Reactos 第 4 章 对象管理 — 4.3 句柄和句柄表(Handle & Handle Table)
c语言·windows·架构
Selina K2 小时前
C中日历时间转换
c语言·开发语言
三千里2 小时前
ZSH的简单配置
linux·zsh·terminal
提伯斯6462 小时前
解决Fast-Drone-250编译相关错误
linux·ros·无人机·fast-drone
liulilittle3 小时前
过冲:拥塞控制的呼吸与盲行
linux·网络·c++·tcp/ip·计算机网络·tcp·通信
caimouse3 小时前
Reactos 第 3 章 内存管理 — 【中篇】Hyperspace、系统空间、API 与异常
c语言·开发语言·windows·架构
无足鸟ICT3 小时前
【RHCA+】三种工作模式
linux