首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cJSON_Delete()和cJSON_free()

cJSON_Delete()和cJSON_free()
EN

Stack Overflow用户
提问于 2021-08-25 10:27:00
回答 1查看 1.2K关注 0票数 0

我对cJSON库仍然很陌生,我不能完全理解cJSON_Delete()和cJSON_free()的用法,

是否有任何文档可以准确地描述应该释放哪些函数,何时使用cJSON_Delete().

  • What (),何时使用cJSON_free(),以及如何在code.

  • Everytime中使用cJSON_free()--我声明了一个变量cJSON *Variable;,我需要释放它以尽量减少内存的占用吗?

谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-25 11:45:14

快速浏览一下自述文件和头文件就会发现:

信中的

  1. 说:不,这个项目似乎没有提供这样的文件。

代码语言:javascript
复制
- Anyway, you don't need to call `cJSON_free()` if you don't call `cJSON_malloc()`. It's more a helper function to let you call the `free()` and `malloc()` hooked functions.
代码语言:javascript
复制
- You need to call `cJSON_Delete()` for any cJSON object you  receive from any of the allocating functions, like the parsers.

  1. cJSON_InitHooks()的目的是为库提供自己的内存分配函数。如果您不想使用默认函数,或者如果您使用目标而不使用free().

malloc(),那么这可能很有趣。

  1. 这样的声明不为cJSON对象分配内存。如果没有获得这样的对象,就不能成功地调用cJSON_Delete()。例如,通过调用cJSON_Delete(),其中一个解析器分配的内存将被释放。

似乎您需要了解指针和动态内存分配,才能正确使用这个库。这是与这个库无关的相当基本的C类内容。

然而,阅读所提供的介绍(特别是例子),如果有疑问,来源也会有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68921154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档