0
我正在使用.cc文件中的变量对数据包进行计数。 现在,我想在我的.tcl脚本中获取该值,将其存储在某个变量中并对其执行一些操作? 这怎么可能?如何在使用ns2时将.cc文件的整数值传递给.tcl文件?
我正在使用.cc文件中的变量对数据包进行计数。 现在,我想在我的.tcl脚本中获取该值,将其存储在某个变量中并对其执行一些操作? 这怎么可能?如何在使用ns2时将.cc文件的整数值传递给.tcl文件?
有几个选择,取决于你如何完成你的代码和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()
打破耦合。
'Tcl_NewIntObj'更适用于如果您要将值作为参数传递或直接将其写入Tcl变量的情况。 –