ns2 segment fault

完成了一个发送beacon的程序,但是出现segment fault了,调试到最后发现是channel.cc中在更新节点的时候链表出问题了。再仔细一看,发现是原来的逻辑是需要链表是有序的,结果几次调用之后居然无序了,有一些节点的值进行变化,但是节点链表中的顺序始终不变,导致问题出现了。
再深入看一下,原来是TransV1.2中竟然手动设置节点的位置,而不是调用set_destination函数:
// set node exactly to old destination
node->X_ = node->destX_;
node->Y_ = node->destY_;
// move node to position
// velocity = space / time
if (destTime > now)
{
speed = sqrt((node->X_ – x)*(node->X_ – x) + (node->Y_ – y)*(node->Y_ – y)) / (destTime – now);
// set_destination returns 0 on success
if ( node->set_destination(x, y, speed) )

奇怪的是作者一边手动赋值,一边又调用函数,真得不知道怎么想的,sigh

给我的感觉是ns2跟其他的扩展结合的太紧密了,很容易就出错啊……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值