ns2中静态成员变量的绑定

本文详细介绍了如何在Tcl环境中实现Packet::hdrlen_的绑定,并通过OTcl命令展示了如何访问和修改该变量。包括了创建类、绑定方法、调用方法等关键步骤。

class Packet{

.....

static int hdrlen_;

}


需要将hdrlen绑定。

class PacketHeaderClass: public TclClass{

     protected:

            PacketHeaderClass(const char* classname, int hdrsize);

            TclObject* create(int argc, const char* const* argv);

          /*是实现绑定*/

             virtual void bind();

             virtual int method(int argc, const char* const* argv);

};


void PacketHeaderClass::bind()

{

     TclClass::bind();

      add_method("hdrlen");

}


int PacketHeaderClass::method(int ac, const char* const* argv)

{

      Tcl& tcl=Tcl::instance();


     int argc=ac-2;

     const char*const* argv=av+2;

     if(argc==2){

              if(strcmp(argv[1], "hdrlen") == 0){

                      tcl.resultf("%d", Packet::hdrlen_);

                      return (TCL_OK);

                 }

        }else if(argc == 3){

                  if(strcmp(argv[1], "hdrlen") == 0){

                          Packet::hdrlen_ = atoi(argv[2]);

                           return (TCL_OK);

                     }

         }

          return TclClass::method(ac,av);

}

     

以后可以使用如下的OTcl命令来访问改变Packet::hdrlen_的值

 PacketHeader hdrlen 120

set i [PacketHeader hdrlen]




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值