是否可以创建自己的tcl环境?
基本上想要拥有的是Tcl8.5的自己的可执行文件,但是我自己的一些软件包嵌入其中。
这将使分发tcl应用程序变得更加容易。
答案 0 :(得分:2)
看一下Tclkit和Kitgen 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);