leach协议在NS 2.34上的安装(半转半改)



终于在NS 2.34上成功安装leach协议,现在共享一下安装过程(在前人的记录上添加的改进),希望后来者能少些障碍。

直接在2.34中安装leach的话,会把原来的相关文件给覆盖,这样2.34上以前添加的的协议将不能运行,所以这种方法行不通。为了解决这个问题,既不让其覆盖我们2.34上的文件,又要leach协议能够运行,那么这种方法就比较复杂了,需要的人工劳动多了一点。

首先,在/ns-allinone-2.34/ns-2.34下新建一个leach文件夹,在/ns-allinone-2.34/ns-2.34/leach目录下解压mit.tar.gz文件,用 gunzip mit.tar.gz和 tar –xvf mit.tar命令解压。

将解压出来的文件A一一对应 /ns-allinone-2.34/ns-2.34目录下的文件B进行修改,将A中与B内容不同的地方,添加进B去,切记,不是完全复制,是添加进去,而B中多出来的内容,不要删掉。B中没有的文件,直接添加到B里。A中tcl/ex目录下的wireless.tcl文件和B中tcl/ex下的wireless.tcl同名,可以修改A中tcl/ex目录下的wireless.tcl文件名为wireless1.tcl,再把wireless1.tcl拷贝到B中tcl/ex下,同时leach_test文件里的wireless.tcl也要改为wireless1.tcl。

说明:leach协议新添加进去的代码都是以#ifdef MIT_ MPS开始,#endif为结束的。因此可以快速查找、修改。

需要额外修改的地方:

1、将common/packet.h里添加的
#ifdef MIT_ MPS
    PT_RCA,
#endif
修改为:
#ifdef MIT_ MPS
static const packet_t PT_RCA = 62;
#endif

同理,将最后一个包的值改为63,即 static packet_t  PT_NTYPE = 63


2、将mac/wireless-phy.h文件中,添加进去的
#ifdef MIT_ MPS
    EnergyResource *energy_;  // Energy resource
    int alive_;         // 0 = dead, 1 = alive
//endif
//ifdef MIT_ MPS_temp
    do le Efriss_amp_;    // Xmit amp  energy (J/bit/m^2)
    do le Etwo_ray_amp_;    // Xmit amp energy (J/bit/m^4)
    do le  EXcvr_;        // Xcvr energy (J/bit)
    do le Pfriss_amp_;    // Friss base transmission  power (W/m^2)
    do le Ptwo_ray_amp_;    // Two-ray base transmission power (W/m^4)
    do le PXcvr_;          // Xcvr Power (W)
    int sleep_;    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值