我使用 cpptcl.hpp 库来创建 TCL 解释器并对一些表达式求值。现在我遇到了一个问题:在一个解释器中 (Tcl::interpreter interp1;) 我在一个解释器中有一个名为 MyNamespace 的命名空间,其中定义了一些变量和过程,我希望能够在另一个解释器中计算一些 TCL 表达式解释器 (Tcl::interpreter interp2;) 通过使用 MyNamespace 命名空间中的预定义变量和过程。我该怎么做?
最佳答案
你不能。至少,不容易。
当然,如果您的 interp 只包含纯 Tcl 代码,并且没有加载包,原则上您可以序列化所有内容(到一个字符串)并在另一个 interp 中对其进行评估; wiki 有这方面的示例(搜索“保存状态”等)。
但对我来说,您似乎正在尝试创建一个“引用”interp,然后将其用作一种模板。如果是这样,我会改为只编写一个代码来设置一个 interp,然后每次调用它以获得适当准备的 interp。
关于c++ - 从一个解释器中获取 tcl 命名空间的内容并传递给另一个解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9297195/