Ich habe den folgenden CodeWie man json_object freigibt?
#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);
}
Hat der json_object_put(new_obj)
frei, alle Speicher new_obj
zu tun?
Ich weiß das. Ich bin auf der Suche nach einer Bestätigung, dass json_object_put das meomry im Beispiel freigibt – MOHAMED
Sie fragen also, wie Sie überprüfen können, dass der freie Speicher tatsächlich frei ist? Das ist eine ganz andere Frage. – djechlin
Auch ich fand das eine interessante Frage. Der Name der Funktion ist unerwartet ... Ich habe kein intuitives Verständnis, dass "put" bedeutet, die Referenzzählung zu dekrementieren und wenn nötig frei zu machen. – Kolban