日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]NS2仿真过程中解决动画仿真节点未定义问题

發(fā)布時(shí)間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]NS2仿真过程中解决动画仿真节点未定义问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文地址:http://blog.myspace.cn/e/400266384.htm

?

其實(shí),這個(gè)問題已經(jīng)出現(xiàn)很長時(shí)間了,但是直到昨天問題才得到解決。
問題描述
用NS2運(yùn)行無線仿真,然后運(yùn)行動(dòng)畫程序nam,但是運(yùn)行過程中出現(xiàn)“node x is not defined"這樣的問題。開始還以為是不是nam出現(xiàn)了問題,經(jīng)過幾步找錯(cuò)和查錯(cuò),調(diào)試終于找到了問題的根源。
問題解決步驟
首先運(yùn)行ns xxx.tcl,得到仿真的nam動(dòng)畫數(shù)據(jù)文件,我們假設(shè)為:test.nam。
然后用nam運(yùn)行該數(shù)據(jù)文件,運(yùn)行過程中出現(xiàn)節(jié)點(diǎn)未定義的錯(cuò)誤,懷疑是nam程序的問題,決定對nam進(jìn)行調(diào)試。
進(jìn)入到nam的安裝文件夾,修改Makefile,在選項(xiàng)中添加調(diào)試選項(xiàng)。CCOPT = -g -Wall
重新編譯生成nam:make clean; make; make install
開始使用GDB進(jìn)行調(diào)試:gdb nam
進(jìn)入GDB之后輸入命令:set args test.nam
然后在文件netmodel.cc的 NetModel::lookupNode()函數(shù)處設(shè)置斷點(diǎn):b netmodel.cc:1570。
然后開始運(yùn)行程序,輸入r然后回車;
運(yùn)行到斷點(diǎn)處,程序停止運(yùn)行。此時(shí)就可以查找出錯(cuò)的原因了,輸入命令p nodes_(存放節(jié)點(diǎn)鏈表的頭指針),發(fā)現(xiàn)其值為空(= 0x0);于是斷定問題的根源是在nam文件中存放節(jié)點(diǎn)的鏈表是空的,進(jìn)而推知,問題處在test.nam文件而不是nam可執(zhí)行文件。
打開nam文件查看,問題果然在此,因?yàn)樵趎am數(shù)據(jù)文件中并沒有發(fā)現(xiàn)節(jié)點(diǎn)定義的語句(以n開頭的語句)。
開始查找問題出現(xiàn)的原因,分析了一個(gè)成功運(yùn)行的例子,得知無線節(jié)點(diǎn)必須使用setdest命令之后才會(huì)寫到nam數(shù)據(jù)文件中(到現(xiàn)在原因還沒有查明,期待您的評論)。
于是在仿真腳本文件中添加setdest命令,然后運(yùn)行仿真,問題排除。
需要注意的一個(gè)問題是,在nam文件中節(jié)點(diǎn)在發(fā)數(shù)據(jù)之前必須已經(jīng)存在,如果不存在就有會(huì)出錯(cuò),

總結(jié)

以上是生活随笔為你收集整理的[转]NS2仿真过程中解决动画仿真节点未定义问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。