2016-05-18 5 views
0

Я подсчитываю пакеты, используя переменную в .cc файле. Теперь я хочу получить это значение в моем сценарии .tcl, сохранить его в некоторой переменной и выполнить некоторую операцию над ним? Как это возможно?Как передать значение Integer из файла .cc в файл .tcl при использовании ns2?

ответ

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); 

После того, как вы сделали это, читая myVarName переменные на стороне Tcl будут читать с переменным до тех пор, пока Tcl_UnlinkVar() разорвать соединение.

+0

'Tcl_NewIntObj' больше подходит, если вы собираетесь передать значение в качестве аргумента или напрямую записать его в переменную Tcl. –