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

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

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

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

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

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

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

相关推荐
1892280486113 小时前
NV022固态MT29F16T08GWLCEM5-QBES:C
c语言·开发语言
紫阡星影14 小时前
【STM32CubeMX项目】智能家居门禁系统
c语言·单片机·嵌入式硬件
feng_you_ying_li14 小时前
liunx之线程控制与解析,页表,TLB
linux
2601_9611940214 小时前
化学教资科三真题答案
linux·windows·ubuntu·pdf·centos·gnu
weixin_5206498714 小时前
Modbus RTU
linux·运维·服务器
zhangfeng113314 小时前
超算中心 高性能计算 slurm的linux版本 centos7,如何安装docker,如何安装torch2.4
linux·运维·服务器·开发语言·人工智能·机器学习·docker
玖玥拾14 小时前
C/C++ 基础笔记(六)
c语言·c++·内存管理
Configure-Handler15 小时前
linux-kernel-fault-codes
linux·运维·服务器
xiaoye-duck15 小时前
《Linux系统编程》Linux 进程间通信之 System V 共享内存:IPC 底层原理与实战
linux
SoftLipaRZC15 小时前
C语言自定义类型:结构体完全指南
c语言·开发语言