SWIG C++ TCL:处理内存中预先存在的对象

Posted

技术标签:

【中文标题】SWIG C++ TCL:处理内存中预先存在的对象【英文标题】:SWIG C++ TCL : Handling pre-existing objects in memory 【发布时间】:2012-04-04 06:54:47 【问题描述】:

如何访问我没有字符串引用的对象 使用 SWIG TCL 包装器?

基本上在我的程序中,一些对象甚至在之前就已经预定义了 加载 TCL 外壳。如果自己编写包装器,我会通过 指向一个对象的指针,该对象又具有指向所有对象的指针 迄今为止创建。如何通过 SWIG 实现相同的行为?

【问题讨论】:

【参考方案1】:

最简单的方法是将静态方法添加到返回这些特殊实例的类(或其他包装的类)中。然后 SWIG 将正确包装访问,您将能够使用静态方法调用约定来获取这些实例的句柄。

set foo [YourClass_specialFoo]     ;# Get the special instance once
$foo bar ...                       ;# invoke methods on it

【讨论】:

谢谢Donal,让我试试看。

以上是关于SWIG C++ TCL:处理内存中预先存在的对象的主要内容,如果未能解决你的问题,请参考以下文章

C++学习(三八九)SWIG

SWIG:如何将 C++ 对象数组从 C# 传递到 C++?

GDAL源码编译(32位)

在 SWIG 中携带自定义 Python 数据的 C++ 对象

将字符串 (const char*) 从 C++ 传递到 C# 时,SWIG_csharp_string_callback 会导致内存泄漏

使用 SWIG 将 C++ 对象指针传递给 Python,而不是再次返回 C++