我对cJSON库仍然很陌生,我不能完全理解cJSON_Delete()和cJSON_free()的用法,
是否有任何文档可以准确地描述应该释放哪些函数,何时使用cJSON_Delete().
cJSON *Variable;,我需要释放它以尽量减少内存的占用吗?谢谢!!
发布于 2021-08-25 11:45:14
快速浏览一下自述文件和头文件就会发现:
信中的
- 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.- You need to call `cJSON_Delete()` for any cJSON object you receive from any of the allocating functions, like the parsers.cJSON_InitHooks()的目的是为库提供自己的内存分配函数。如果您不想使用默认函数,或者如果您使用目标而不使用free().和malloc(),那么这可能很有趣。
cJSON_Delete()。例如,通过调用cJSON_Delete(),其中一个解析器分配的内存将被释放。似乎您需要了解指针和动态内存分配,才能正确使用这个库。这是与这个库无关的相当基本的C类内容。
然而,阅读所提供的介绍(特别是例子),如果有疑问,来源也会有所帮助。
https://stackoverflow.com/questions/68921154
复制相似问题