上下文 我想通过 SWIG 从 C/C++ 调用 Tcl 回调。更重要的是,我希望它是一个闭包。
先验知识 http://computer-programming-forum.com/57-tcl/4481cebe0f09966d.htm(不,那不是我,只是在谷歌搜索中看起来足够相似的唯一东西)
使用 Python,我在 Python 端创建一个对象,给它一个__call__
方法,通过 SWIG 将它作为 PyObject* 处理,它仍然可以访问 Python 中编码的非局部变量(使用一些胶水代码),因为它仍然与创建它的解释器密切相关。
我的理解(在这里纠正我) 在 Tcl 中,我从 C 调用函数的唯一方法是通过一个新的解释器传递一个表示命令的字符串(但是......那么闭包在哪里......?)。如果我从 Tcl 调用 C/C++,仍然有同样的问题,因为 C/C++ 不知道调用 Tcl 解释器。
Annnnddd...文档(http://www.tcl.tk/man/tcl8.6/TclLib/contents.htm)虽然内容广泛,但...嗯,非常广泛。集体知识请把我从无知中拯救出来。
问题如何获得闭包/修改 Tcl 中的名称从 C/C++ 指向的值?或者甚至只是获取调用 C/C++ 代码的解释器的句柄......?