基本语法 赋值语句 set var 0 变量取值 $var, e.g. set var1 $var2 表达式 [expr ...], e.g. set x [expr $a + $b] 型别系统 变量无类型,但数值有类型,比如整型、浮点类型、字符串。其中也有casting,如[expr 1/60]是整型,[expr 1.0/60]是浮点数。TCL的串有些怪,但是很方便。比如,如果变量x的值是2,那么"x $x"的值是"x 2"。即使在引号范围内,$也会起作用。此外T...
经过一段时间的代码阅读和资料查阅,在这里我想试着讲明一个困扰大多数NS2 Beginner的问题:otcl和C++的交互,我们写的新协议(假若有的话)是如何被NS2执行的。 就简单的从我们现有的来自长庚大学的802.16的补丁说起。移植完16的补丁我们的NS2就可以执行MAC层协议为“Mac/802_16“的[color="#000000"]tcl脚本代码。但是这个补丁(wimax_v2.03)里面的代码全都是用C++编写的底层代码,在tcl脚本中设置MAC层协议为Mac/802_16,tcl解...
otcl和C++之间的对象连接 1、创建和销毁TclObject 当用户创建一个新的TclObject时,在otcl脚本中使用过程new{}和delete{},如 set tcp1[new Agent/TCP] //new创建解释对象和对应的影像对象 delete $tcp1 //delete销毁解释对象和对应的影像对象 new: a、创建出解释对象;b、执行该对象的初始化实例过程init{},并将用户提供的参数传递给它; c、初始化实例过程调用create-shadow方法创建该对象在C++中的影像...
如果在NS中做扩展代理模块。则需要新写这个模块。应用这个模块就要在tcl脚本中加入一段绑定的话: set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif) Phy/WirelessPhy/OFDM ;# network interface type set val(mac) Mac/802_16/MBS ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interfac...