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

Swig + tcl + c++ (memory managment)

本文关键字:管理 内存 Swig+tcl+c++      更新时间:2023-10-16

我在tcl中有一个过程,它使用swig创建的接口再次调用c++方法。该过程返回一个指针列表。我使用检查了tcl中List中单个元素的所有权

[lindex $listname 0] cget -thisown

它返回0而不是1。

根据SWIG关于内存管理的文档,指针默认不归(SWIG绑定到)Tcl所有。如果SWIG错误,请使用-acquire/-disown操作进行更正。例如:

[lindex $listname 0] -acquire

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