1. 程式人生 > >NS3入門學習(一)之指令碼執行例項

NS3入門學習(一)之指令碼執行例項

 ns3中使用的編譯系統是waf,所有的c++工程都需要經過waf編譯後執行,除錯時也需要waf的。

在3.1.3中還是使用C++寫指令碼,在/ns-3.1.3/examples/tutorial/的second.cc指令碼中可以看出來,在3.2.6以上版本中已經增加了python 的API,使用python指令碼。在/examples/tutorial/的second.py指令碼檔案,但是呼叫的方法沒有較大改變,只是語法結構稍微改變。

 建立自己的指令碼 把你的指令碼放到scratch目錄下,並執行waf,這樣你的指令碼就會被編譯。在回到高層目錄後複製examples/tutorial/first.cc
scratch目錄下
在.../ns-3.13目錄下執行復制   cp examples/tutorial/first.cc scratch/myfirst.cc 使用waf命令在.../ns-3.13(注意這裡不是在examples/tutorial/下編譯,而是在頂層目錄)來編譯指令碼:   ./waf 可以看到訊息報告說myfirst範例被成功編譯了。   Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
  [614/708] cxx: scratch/myfirst.cc -> build/debug/scratch/myfirst_3.o ....   'build' finished successfully (2.357s) 現在你能夠執行這個例子(注意如果你在scratch目錄編譯了你的程式,你必須在scratch目錄外執行它):   ./waf --run scratch/myfirst 你應該能看到一些輸出: 。。。。   'build' finished successfully (0.418s)
  Sent 1024 bytes to 10.1.1.2   Received 1024 bytes from 10.1.1.1   Received 1024 bytes from 10.1.1.2 看到編譯系統核查來確定檔案被編譯了,接著運行了它。看到在echo日誌構件顯示了它已經發送了1024位元組到在10.1.1.2echo服務端。還可以看到回顯伺服器端的日誌構件顯示他從10.1.1.1接收到了1024位元組。接下來echo服務端應答了資料包,能看到echo客戶端記錄了它已經接收到了從服務端傳送過來的回顯資料包。