我在tcl中有一个程序,它再次使用swig创建的接口调用c ++方法。该过程返回指针列表。我使用
检查了tcl中List中单个元素的所有权[lindex $listname 0] cget -thisown
它返回0而不是1。
答案 0 :(得分:2)
根据SWIG documentation on memory management,默认情况下,指针不归(SWIG绑定到)Tcl所有。如果SWIG出错,请使用-acquire
/ -disown
操作进行更正。例如:
[lindex $listname 0] -acquire
小心!使内存管理错误将导致崩溃或内存泄漏混乱。