我的系统上有几个tcl解释器,我想选择哪个Ccl用于tcl。有没有办法做到这一点?
谢谢!
答案 0 :(得分:2)
C api不会选择解释器,您可以通过更改包含和链接路径来选择与您要使用的解释器相对应的C api。
答案 1 :(得分:1)
您首先使用C API将解释器传递给 Tcl_CreateInterp
。例如Tcl_Eval
的接口是:
int Tcl_Eval(Tcl_Interp *interp, const char *script)
答案 2 :(得分:0)
一般来说,在运行Tcl程序时,您可以通过选择解释器来选择API。您可以通过完全根据您的选择命名解释程序来明确地执行此操作:
bash$ /my/special/place/bin/tclsh8.6 thescript.tcl ...
或者您可以在启动可执行文件Tcl脚本时使用标准env
程序处理此技巧,并依靠操作系统来处理您的PATH环境以选择合适的:
#!/usr/bin/env tclsh8.6
安装Tcl解释器的标准是其名称中的版本,以便您可以在系统上轻松拥有不同的版本。
创建使用Tcl库的C程序时,通过设置include和library路径选择标题和库(通常最好被视为匹配集)。 Unix编译器通常使用-I
和-L
选项来分别执行此操作;通常还会安装脚本(tclConfig.sh
)以使这些选项更容易。请注意,虽然Tcl的库通常以其名称进行版本化,但Tcl的头文件不是;如果您将多个版本的标题安装到同一个位置,则只能使用最新版本。
在构建Tcl时,可以使用configure
的标准选项,以便更好地分解所有内容。