c++ - 从一个解释器中获取 tcl 命名空间的内容并传递给另一个解释器

标签 c++ namespaces tcl interpreter

我使用 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/

相关文章:

c# - 为什么 .NET 设计者不将所有异常保留在系统命名空间中?

c++ - 结构体存在于函数/方法中

java - 使用 OpenCV 2.4.8 为 Java 编写 FaceRecognizer 的问题

c++ - C++ 中的“助手”函数

shell - 当我的 tcl 脚本运行时,在屏幕上打印完成的百分比?

linux - 如何从 tcl 文件中的单个变量执行多个命令

tree - 在 tcl 中创建树

c++ - 将像 Strlen C++ 一样工作的函数

android - 为 Android 构建 SDL 混音器

java - XSD 中的命名空间错误