看板 Network_Sim 關於我們 聯絡資訊
小弟最近被這個問題卡很久沒進度 麻煩各位能幫幫我 我的研究是LEACH,我想在wireless-phy.cc中 bind一個變數然後取值 我測試的寫法是在wireless-phy.h中宣告一個int變數test_cc 接著在wireless-phy.cc的WirelessPhy::WirelessPhy()中給初值0 以及bind("test_tcl",&test_cc); 然後在uamps.tcl中寫一行: Phy/WirelessPhy set test_tcl 0 接著ns-leach.tcl的Application/LEACH instproc init args {}中有加了 $self instvar mywphy testvar set mywphy [new Phy/WirelessPhy] set testvar 0 而在其他程式區塊中寫了測試取值的程式碼如下: $self instvar mywphy testvar set testvar [$mywphy set test_tcl] set outf [open $opt(dirname)/test_tcl.txt a] puts $outf "testvar = $testvar " close $outf ./leach_test後卻會 run到一半就停止了,我看停止的地方好像是執行到 set mywphy [new Phy/WirelessPhy]這段就停了 但是看out檔跟err檔卻沒有錯誤訊息,所以想問各位是不是我哪邊寫錯了? 網路上爬了一堆文,但....還是沒結果....囧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.123.44
bottless:我測試是OK的,可以取得test_cc,我是沒開檔寫入,而是 10/07 17:00
bottless:直接印出來看,數值沒錯,且有bind成功! 10/07 17:01
bottless:想正常因該都有錯誤訊息吧,你所謂的run到一半就停止? 10/07 17:03
bottless:只執行完? 還是卡住? 10/07 17:03
yzvvs:感謝你還幫我測試,我是執行到一半就停住,我有試過把 10/07 17:17
yzvvs:set mywphy [new Phy/WirelessPhy]這行註解掉就可以跑完了 10/07 17:17
yzvvs:我的停住.....應該就是卡住,苦惱的就是沒任何訊息,out檔中 10/07 17:19
yzvvs:只有原本就會印的那些東西。 10/07 17:20
yzvvs:看out檔似乎是執行完findBestCluster {}才停的,因為裡面的 10/07 17:37
yzvvs:puts還有印到,接下來就沒了 10/07 17:38
kivava:bind的值不是應該在 ns-default.tcl 中給初始預設值? 10/07 19:08
我把印出檔案那段挪到程式停止前那邊印(即findBestCluster {}中),分別設初值 (我說的是指 Phy/WirelessPhy set test_tcl 0 這段),結果是 uamps.tcl ns-default.tcl 初值都沒設=>印出的值為.CC中的初值,err有waring uamps.tcl有設 ns-default.tcl沒設 =>印出的值為uamps.tcl中設的初值,err沒waring uamps.tcl沒設 ns-default.tcl有設 =>印出的值為.CC中的初值,err有waring uamps.tcl ns-default.tcl 兩個都有設=>印出的值為uamps.tcl中設的初值,err沒waring (waring 都是 no class variable Phy/WirelessPhy::test_tcl) 不過我在 .CC 檔中的 WirelessPhy::sendDown 一進去就隨便設一個值給 test_cc ,怎嚜印出的都只有初值,快瘋掉了~XD 而且還是沒辦法執行完程式,還是卡住在同個地方啊.....囧 ※ 編輯: yzvvs 來自: 59.112.83.40 (10/07 23:07)
bottless:印象中,ns-default.tcl 有沒有設定出值因該不影響卡住! 10/08 02:01
bottless:在sendDown設值,我想因該還沒執行到那邊吧因為你卡住 10/08 02:05
bottless:把set mywphy [new Phy/WirelessPhy]註解掉?那你後面會印 10/08 02:10
bottless:出什麼東西? 我指testvar的值(印那段字串嗎??) 10/08 02:11
對不起,我沒說清楚,在測試 set mywphy [new Phy/WirelessPhy] 這行時我已經先把 要測試印出的那五行註解掉了,單純只看 set mywphy [new Phy/WirelessPhy] 有註解 跟沒註解掉的差異而已,差別就是沒這行跑的完,有這行則卡住,所以是沒印值的。
kivava:不然就不要用bind.. 直接建立command回傳值 10/08 02:23
bottless:我測試沒問題,你也沒err可以看,還真難幫上忙! 10/08 02:23
bottless:只能建議你... 重新安裝... 再試一次看看了@@ 10/08 02:24
bottless:推kivava!! 我也是都用command回傳!! 10/08 02:26
非常感謝你們的協助,我在試試看 command,其實我程式滿弱的XD,command怎麼寫 應該要在花時間看一下了,再不行就只好重新安裝了,哭哭了我~ ※ 編輯: yzvvs 來自: 140.118.123.44 (10/08 11:09)
yzvvs:突然想到用command不是也會用到set myphy [new P...]這行? 10/08 12:00