【发布时间】:2014-01-13 18:32:19
【问题描述】:
我有一个可以执行 TCL 脚本的 C 应用程序,以及许多用 C 实现并使用 Tcl_CreateObjCommand 注册的自定义 TCL 命令。
在执行命令时,我想找出调用了我的命令的 TCL 脚本的文件名。 IE。类似 "info script" 但从 C 调用的东西(我不需要完整路径,只需文件名就足够了)。我的命令中唯一的参数是
Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]
clientData 为 NULL。
那么是否有一个 C 函数可以让我只传递 Tcl_Interp* 并获取 TCL 脚本的文件名?或者如果它不存在,从 TCL 命令的实现中调用 Tcl_Eval* 函数是否安全,因此它将是间接递归调用。
【问题讨论】: