使用ns2时,如何将.cc文件中的Integer值传递给.tcl文件?

时间:2016-05-18 13:31:20

标签: tcl ns2 cc

我正在使用.cc文件中的变量对数据包进行计数。 现在,我想在我的.tcl脚本中获取该值,将其存储在某个变量中并对其执行一些操作? 怎么可能?

1 个答案:

答案 0 :(得分:0)

有几个选项,具体取决于您如何完成代码与Tcl之间的绑定。例如,您可以使用Tcl_NewIntObj()将您的值转换为可以作为参数传递给Tcl命令的Tcl值,或者您可以使用Tcl_LinkVar()在C ++代码中创建变量(应该是长寿的,所以通常是全局的)将自己暴露为Tcl变量。

// The interp is the interpreter context, which might come from Tcl_CreateInterp or might
// be handed to you by callback, depending on what you're doing.

Tcl_LinkVar(interp, "myVarName", (char *) &yourIntVariable, TCL_LINK_INT);

完成后,阅读Tcl端的myVarName变量将从变量中读取,直到Tcl_UnlinkVar()打破耦合。