Я подсчитываю пакеты, используя переменную в .cc файле. Теперь я хочу получить это значение в моем сценарии .tcl, сохранить его в некоторой переменной и выполнить некоторую операцию над ним? Как это возможно?Как передать значение Integer из файла .cc в файл .tcl при использовании ns2?
0
A
ответ
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()
разорвать соединение.
'Tcl_NewIntObj' больше подходит, если вы собираетесь передать значение в качестве аргумента или напрямую записать его в переменную Tcl. –