2013-02-14 5 views
5

私は、次のコードjson_objectを解放するには?

#include <stdio.h> 
#include <stdlib.h> 
#include <stddef.h> 
#include <string.h> 

#include <json/json.h> 

int main(int argc, char **argv) 
{ 
     json_object *new_obj; 
     char buf[] = "{ \"foo\": \"bar\", \"foo2\": \"bar2\", \"foo3\": \"bar3\" }" 
     new_obj = json_tokener_parse(buf); 
     ..... 
     json_object_put(new_obj); 
} 

new_objに関連json_object_put(new_obj)すべての空きメモリを持ってい?ドキュメントから

答えて

3

void json_object_put (struct json_object *this) 

デクリメントそれが到達した場合、参照json_objectの数と自由ゼロ

出典: http://oss.metaparadigm.com/json-c/doc/html/json__object_8h.html

+2

私はこれを知っています。私は – MOHAMED

+0

を入れた例でjson_object_putがmeomryを解放するという確認を見ているので、あなたはfree'dのメモリが実際にfree'dであることを確認する方法を尋ねていますか?それはまったく異なる質問です。 – djechlin

+2

私もこれを興味深い質問にしました。関数の名前は予期せぬものです...私は、「put」とは参照カウントを減らし、必要に応じて解放するという直感的な理解はしていません。 – Kolban

0

私たちは自由にする必要はありません想い出。 この質問に対する回答は、this other questionを参照してください。

+0

これは本当に質問に答えません。答えを*あなたがなぜ「記憶を解放する」必要がないのかを説明してください。 –

関連する問題