2013-02-14 16 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

मुझे यह पता है। मैं एक पुष्टिकरण देख रहा हूं कि json_object_put उदाहरण में मेमरी मुक्त करें उदाहरण के लिए मैंने – MOHAMED

+0

डाल दिया है, तो आप यह पूछ रहे हैं कि फ्रीडम मेमोरी वास्तव में कैसे मुक्त की गई है? यह एक बिल्कुल अलग सवाल है। – djechlin

+2

मुझे भी यह एक दिलचस्प सवाल मिला। फ़ंक्शन का नाम अप्रत्याशित है ... मुझे कोई अंतर्ज्ञानी समझ नहीं है कि "डाल" का मतलब संदर्भ गणना को कम करने और यदि आवश्यक हो तो मुक्त हो। – Kolban

0

हम मुक्त की जरूरत नहीं है यादाश्त। इस प्रश्न के उत्तर के लिए, कृपया this other question देखें।

+0

यह वास्तव में प्रश्न का उत्तर नहीं देता है। कृपया अपने उत्तर में * समझाएं * क्यों किसी को "स्मृति मुक्त करने की आवश्यकता नहीं होगी"। –

संबंधित मुद्दे