我使用mxml库来解析C语言的XML文件。我使用以下代码将XML加载到缓冲区中:

mxml_node_t *tree;
tree = mxmlLoadString(NULL,XMLbuf,MXML_OPAQUE_CALLBACK);


XML文件很复杂,但是目前还不相关。

我的问题是:什么时候应该释放mxml库函数使用的内存?

一劳永逸地使用这样的代码是否足够:

mxmlDelete(tree);


还是必须对XML.(mxmlDelete(node1);mxmlDelete(node2);的每个节点重复该操作,直到达到mxmlDelete(tree);

最佳答案

The documentation明确说明答案:


  删除节点及其所有子节点。


因此,如果在顶级节点(树的根)上调用它,则应该完成。

10-08 13:49