NS是一个带有仿真对象库的otcl解释器。了解如何使用otcl进行编程对于使用NS是很有帮助的。本文将介绍Tcl和otcl脚本的两个例子,从这两个例子可以了解到otcl的基本编程思想。这里假定读者已经正确安装NS,并且熟悉C和C++语言。 例程1是一个普通的Tcl脚本,主要用来介绍如何创建一个过程(Procedure)并调用它,如何对变量赋值,如何进行循环。我们知道,otcl是Tcl语言面向对象的扩展,很显然,所有Tcl指令都可以在otcl上运行。O...
经过一段时间的代码阅读和资料查阅,在这里我想试着讲明一个困扰大多数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++中的影像...