Ich zähle Pakete mit einer Variablen in der .cc-Datei. Jetzt möchte ich diesen Wert in meinem .tcl-Skript abrufen, in einer Variablen speichern und einige Operationen ausführen? Wie ist das möglich?Wie kann ich einen Integer-Wert von einer .cc-Datei an die .tcl-Datei übergeben, wenn Sie ns2 verwenden?
0
A
Antwort
0
Es gibt ein paar Optionen, abhängig davon, wie Sie die Bindung zwischen Ihrem Code und Tcl getan haben. Zum Beispiel können Sie Tcl_NewIntObj()
verwenden, um Ihren Wert in einen Tcl-Wert zu konvertieren, den Sie als Argument an einen Tcl-Befehl übergeben können, oder Sie könnten Tcl_LinkVar()
verwenden, um eine Variable in Ihrem C++ - Code zu erstellen (der langlebig sein sollte oft ein global) exponiert sich als Tcl-Variable.
// 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);
Sobald Sie das getan haben, das Lesen der myVarName
Variable auf der Tcl Seite wird von Ihrer Variable lesen, bis Sie Tcl_UnlinkVar()
die Kupplung zu brechen.
'Tcl_NewIntObj' ist mehr, wenn Sie den Wert als Argument übergeben oder direkt in eine Tcl-Variable schreiben wollen. –