自定义tcl环境

时间:2015-04-10 10:44:57

标签: deployment package tcl

是否可以创建自己的tcl环境?

基本上想要拥有的是Tcl8.5的自己的可执行文件,但是我自己的一些软件包嵌入其中。

这将使分发tcl应用程序变得更加容易。

2 个答案:

答案 0 :(得分:2)

看一下TclkitKitgen Build System - 这些系统可以构建一个一体化的Tcl运行时,也可以自定义包含的包。

答案 1 :(得分:2)

当然有可能。使用Tcl的标准方法之一是作为嵌入式语言:您只需将代码链接到Tcl库并从那里开始。

如果你想使你的代码像tclsh的扩展版本一样工作,那么你只需在正确的位置调用Tcl_Main(),其中一个传递的参数是一个将要添加的回调要添加的本地程序包/命令。调用这样一个函数Tcl_AppInit是常规的,但你可以把它称为任何你想要的东西。

否则,您可以手动执行更多操作。

// Initialize the Tcl library first
Tcl_FindExecutable(argv[0]);

// Make the interpreter
Tcl_Interp *interp = Tcl_CreateInterp();

// Add your stuff in here

if (Tcl_EvalFile(interp, "your_main_script.tcl") != TCL_OK) {
    // IMPORTANT: If things go wrong, print what happened. Saves debugging time!
    fprintf(stderr, "error: %s\n", Tcl_GetString(Tcl_GetObjResult(interp)));
    exit(1);
}

// Delete and clean up
Tcl_DeleteInterp(interp);
exit(0);