Swig + tcl + c ++(内存管理)

时间:2011-06-08 07:02:38

标签: c++ tcl swig

我在tcl中有一个程序,它再次使用swig创建的接口调用c ++方法。该过程返回指针列表。我使用

检查了tcl中List中单个元素的所有权
[lindex $listname 0] cget -thisown

它返回0而不是1。

1 个答案:

答案 0 :(得分:2)

根据SWIG documentation on memory management,默认情况下,指针不归(SWIG绑定到)Tcl所有。如果SWIG出错,请使用-acquire / -disown操作进行更正。例如:

[lindex $listname 0] -acquire

小心!使内存管理错误将导致崩溃或内存泄漏混乱。