NS2仿真過程中遇到的問題和相關解決方案

因為畢業設計課題的要求,要用S2仿真軟件進行TCP方案的仿真和驗證,在此過程中,遇到了一些問題,也找到了一些解決辦法,現在記錄下來,持續更新中.....

問題一:修改完NS2核心模塊(C++)部分後,重新運行TCL文件沒有任何效果。

問題逐步解答:

1,經過初步檢查後發現是因為,修改完核心模塊後,我沒有重新編譯生成新的.O文件所致。

2,修改完之後,進行make經歷了一些時間等待後,重新運行TCL還是沒有任何效果。

3,繼續檢查發現,是因為在運行make時,出現了一些錯誤,但是我沒有改正這些提示的錯誤。

4,按照提示,我修改了所有錯誤,只剩下了警告(這警告不用管)。

5,重新運行TCL文件發現還是沒有效果,這下我就有疑問了,後來問別人說,make之前應該刪掉改動的.o文件。

6,我仔細一想,我除了改動tcp.cc和tcp-reno.cc,外還改動了na-default.tcl文件,這個屬於全部文件,難不成我要把所有的點.o文件都要刪除。

7,的確如此,其實就是想make clean 之後再make,這一切還是很順利的,但是結果還是沒有效果。

8,最後,無奈拿出我的必殺技完美解決問題,具體操作步驟如下:

./configure (這部是重新配置全局信息,若更改了全局的內容,必須有這一步,有了這一步,Makefile文件中的.0文件也會自動更改,我們就不用管了)

make clean (這部實際上是刪除,所有的.o文件)

make depend (此布會提示,找不到目錄內的問題,不用管)

make  (這步時間有點長,耐心點)

sudo make install (如果不加sudo,會提示權限問題) 再輸入密碼就OK了

所以,所有的編譯問題,經歷以上5條指令都可以完美解決。

問題二:編譯問題解決了,運行TCL時提示[code omitted because of length]的錯誤。

第一次遇到,我是花了很長時間才解決,根據網上的其他解決方法也不能解決我的問題,後來自己努力解決了,現在總結如下:

問題解決思路:

1,這種錯誤通常會出現

[code omitted because of length]
: no event type or button # or keysym
    while executing
......

的提示,我們就可以把問題定位在.....

2,接着,提示[code omitted because of length]這類錯誤的問題99%以上是在Makefile文件中。

所以,解決方法也就出現了,即定位到該文件,利用搜索功能,搜索提示的出錯代碼,就可以發現問題了。

問題三:運行完TCL文件後,我們就需要分析結果了,所以利用gnuplot成為了常的方法,但是每次都要重複輸入代碼很是浪費時間。

解決方法:

1,建立一個GNUPLOT腳本文件,即xxx.plt文件。

2,將自己畫圖的指令一次寫入到plt文件中並保存。例如我的:

注意紅線框內的指令,這樣寫才不會有錯誤提示,不需要加1,2。其他文章此處有錯誤。

3,最後,運行完後,依次:

->gnuplot

gnploy->load 'xxx.plt'

就可以畫出結果了。示例如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FeelTouch Labs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值