2016-05-18 10 views

回答

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()打破耦合。

+0

'Tcl_NewIntObj'更适用于如果您要将值作为参数传递或直接将其写入Tcl变量的情况。 –

相关问题