摘要:
一、创建和销毁TclObject在Otcl脚本中使用new{}和delete{}。举个例子:set tcp1 [new Agent/TCP]delete $tcp1过程new{}的执行过程:1创建出解释对象2执行该对象的初始化实例过程init{},并把用户提供的参数传给它。3在基类SplitObject的初始化实例过程中,通过create-shadow方法创建该对象在C++中的影像对象。4影像对象的构造函数将被执行,其中会进行一些变量绑定工作。因此每个解释类都必须在初始化实例过程中调用其父类的初始化实例过程,以便最终执行到基类SplitObject的初始化实例过程去创建影像对象。创建影像对象的 阅读全文
摘要:
举个例子从整体说明Otcl和C++之间的对象连接机制1、在tcp.h中的TcpAgent类声明如下:class TcpAgent:public Agent {public:TcpAgent();virtual void recv(Packet*,Handle*);virtual void timeout (int ton);virtual void timeout_nonrtx (int ton);int command(int argc,const char*const* argv);virtual void sendmsg(int nbytes,const char *flags=0);… 阅读全文
摘要:
NS2中事件调度过程浅析最近研究NS2仿真工具,在学习源代码的过程中查看了一下NS2中的事件调度相关内容,对其流程有了一些粗浅认识,特分享如下。本人新手,以下内容有错误和不足之处恳请指教:)1. 事件调度相关类简介类结构如图1所示:图1 NS2事件调度相关类结构图重要类简介:1) Handler类: 定义位置:~\Common\Scheduler[.h .cc] 作用概述: NS2中用于执行对事件的处理动作(在handle()方法中实现); 作为Event类的属性,所有的事件都会保存用于处理自己的Handler,以供分派(dispatch)时使用; 属性/方法概述: publi... 阅读全文
摘要:
序很多人都问我新手应该看些什么资料,或者怎么熟悉NS2这个工具。这是让很多入门者非常头痛的问题,包括我自己,当初也是困难重重,不过现在让我说我也没什么印象了,因为我当时比较盲目看了很多兑现在一点儿用都没有的资料。为了能让写的东西真的对新手有所帮助,刚才跟我师弟crabhit谈了谈,所以总结了一下,希望能起到抛砖引玉的作用。当然,只是我们的粗略见解,如有不足,欢迎指正。SeaSon’email:yuhui.wu@163.comCrabhit’email:crabhit@gmail.com一. 安装(Cygwin+ns2.2*)这应该是让很多人头大的问题,因为NS2安装比较另类,所以很多人已如果安 阅读全文