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

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

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

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

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

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

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

相关推荐
春风解人意5 分钟前
从零开始学习嵌入式P29----线程间的通信
c语言·嵌入式硬件·学习
kmomo..6 分钟前
Linux 进程学习笔记
linux·笔记·学习
Tanner_SL17 分钟前
Linux笔记之PATH, LD_LIBRARY_PATH和LIBRARY_PATH的区别
linux·运维·笔记
Mapleay1 小时前
Linux 内核调试
linux
从零开始的嵌入式之旅1 小时前
day32
linux·c语言·经验分享·笔记·嵌入式硬件
秃秃秃秃哇1 小时前
orin上sensor一帧raw图大小的计算
linux
byte轻骑兵2 小时前
【BlueZ 】蓝牙配对/绑定基础:BlueZ 中安全机制的入门级源码解析
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
一条破秋裤2 小时前
C-数据类型
c语言·开发语言·chrome
xx~t2 小时前
嵌入式学习——进程与线程2
linux·c语言·学习·进程与线程
给AI剪纸的打工人2 小时前
OpenCode怎么接第三方API?自定义Provider与Responses配置实战
linux·数据库·人工智能