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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NS2相关学习——完成一个新的协议(1)

發布時間:2024/8/23 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NS2相关学习——完成一个新的协议(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接下來要進入對我來說老大難的環節了,從表面的TCL慢慢進入到后端的C++,一起加油學習吧~


在本節學習中,將給出一個在ns中實現新的協議的例子。但是可以想見的是,如果由我們自己來完成這個工作,勢必要對NS2十分的熟悉并且要對c++的相關知識有一定了解(課程中有這門課,表示hold不住,學精一門語言是多么重要)。在開始這項工作以前,讀者應該先至少要了解TCL與c++之間的聯系。可以從 學http://www.isi.edu/nsnam/ns/tutorial/ 的3.1-3.3開始。

下面首先來列舉一下3.1-3.3到底說了什么東西。

3.1 Concept Overview

為什么選擇兩種語言? ns使用兩種語言,因為模擬器有兩種不同的事情需要做。 一方面,協議的詳細模擬需要一種系統編程語言,可以有效地操縱字節,數據包頭和實現在大數據集上運行的算法。 對于這些任務,運行時速度很重要,周轉時間(運行模擬,查找錯誤,修復錯誤,重新編譯,重新運行)不太重要。——選擇了C++
另一方面,網絡研究的很大一部分涉及到稍微變化的參數或配置,或者很快地探索了一些場景。 在這些情況下,迭代時間(更改模型并重新運行)更為重要。 由于配置運行一次(在模擬開始時),這部分任務的運行時間不太重要。——選擇了TCL

什么時候使用C++呢?①?在做任何需要處理流的每個數據包的東西;②?以未預期的方式更改現有C ++類的行為;

什么時候使用TCL呢? ①?用于配置,設置和“一次性”的東西;②?通過操作現有的C ++對象來執行所需的操作;

3.2 代碼概述

在?tclcl /中定義了一些類。我們只專注于ns中使用的六個:

① TclSectionsec類:Tcl包含C ++代碼將用于訪問解釋器的方法。

② TclObjectSectionsec類:TclObject是在編譯層次結構中也被鏡像的所有模擬器對象的基類。

③ TclClassSectionsec類:TclClass定義了解釋類層次結構以及允許用戶實例化TclObject的方法。

④ TclCommandSectionsec類:TclCommand用于定義簡單的全局解釋器命令。?

⑤ EmbeddedTclSectionsec類:EmbeddedTcl類包含加載更高級別內置命令的方法,使配置模擬更容易。

⑥ InstVarSectionsec類:InstVar類包含訪問C ++成員變量作為OTcl實例變量的方法。


3.3 TCL類

Tcl ../Tcl / Tcl.h封裝了OTcl解釋器的實際實例,并提供了訪問和與該解釋器通信的方法。 該類提供了以下操作的方法:

①?獲取對Tcl實例的引用;

②?通過解釋器調用OTcl程序;

③ 將結果回收給解釋器;

④?報告錯誤情況,統一退出;?

⑤?存儲和查找“TclObjects”;

⑥ 得到直接訪問解釋器的方法;

在下面6個小節中仔細分析這六個方面;

該類的單個實例在?tclcl / Tcl.cc中聲明為靜態成員變量; 程序員必須獲得對該實例的引用以訪問本節中描述的其他方法。 訪問此實例所需的語句是:

Tcl&tcl = Tcl :: instance(); ②調用OTcl程序

通過實例tcl調用OTcl命令有四種不同的方法。他們 的調用方式有本質上的不同。 每個函數將一個字符串傳遞給解釋器,然后在全局上下文中對該字符串求值。 如果解釋器返回TCL_OK,這些方法將返回給調用者。 另一方面,如果解釋器返回TCL_ERROR,則方法將調用tkerror。 用戶可以重載此過程,以選擇性地忽略某些類型的錯誤。 OTcl編程的復雜性超出了本文檔的范圍。

③ 返回值

當解釋器調用C ++方法時,它會將結果返回到私有成員變量tcl_-result中。 有兩種方法可用于設置此變量。

[const char* $s$]tcl.result../Tcl/Tcl.hTcl::result

將結果字符串$ s $傳回給解釋器。

[const char* fmt, ...]tcl.resultf../Tcl/Tcl2.ccTcl::resultf

varargs(3)以上變體使用vsprintf(3)格式化結果,將結果字符串傳回給解釋器。(翻譯無能。。。。)

同樣,當C ++方法調用OTcl命令時,解釋器將返回tcl_-result中的結果。

tcl.result ../ Tcl / Tcl.hTcl :: result必須用于檢索結果。 請注意,結果是一個字符串,必須轉換成適合于結果類型的內部格式。

tcl.evalc("Simulator set NumberInterfaces_");char* ni = {\bfseries{}tcl.result}();if (atoi(ni) != 1)tcl.evalc("Simulator set NumberInterfaces_ 1");

總結

以上是生活随笔為你收集整理的NS2相关学习——完成一个新的协议(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线视频99| 亚洲av人人澡人人爽人人夜夜 | 国产欧美日本 | 国产精品夜夜夜爽阿娇 | 免费网站成人 | 最新国产在线视频 | 白丝一区 | www麻豆| 日韩性在线 | av官网| 91久久中文字幕 | 在线观看黄色 | 一区二区精 | 区一区二区三 | 大香蕉精品一区 | 亚洲精品久久久久久久蜜桃 | 黄色aaaa| 青青草国产| 丰满熟妇人妻av无码区 | 久久精品三级视频 | 国产中文一区二区三区 | 爱情岛论坛亚洲品质自拍 | 色久月| 国产在线精品播放 | 国产免费黄色 | 日韩xxxxxxxxx | 一区二区手机在线 | 野花视频在线观看免费 | 国产白浆一区二区 | 成人av免费看 | 少妇太紧太爽又黄又硬又爽小说 | 成人精品免费视频 | 免费在线观看毛片视频 | 亚洲AV无码AV吞精久久中文版 | 成人久久影院 | 日本乳汁视频 | 99香蕉视频 | 东北少妇高潮抽搐 | 国产特黄aaaaa毛片 | 最近中文字幕一区二区 | 丝袜老师让我了一夜网站 | 性猛╳xxx乱大交 | 日韩av在线播放观看 | 福利小视频在线 | 蜜桃在线一区二区三区 | 亚洲图片在线 | 色94色欧美sute亚洲线路二 | 自拍偷拍2019| 久热最新视频 | 中文在线a√在线 | 亚洲av首页在线 | 欧美乱论| 国产精品6666 | 麻豆com | 毛片aa| 精品三级网站 | 老牛影视少妇在线观看 | 国产精品欧美一区二区 | 日韩一页| 午夜国产免费 | 国产欧美视频在线观看 | 热99| 在线视频观看一区二区 | 亚洲视频在线播放 | 国产成人亚洲综合a∨婷婷 台湾a级片 | 日韩午夜av | 久久久久久久久久久丰满 | 香蕉污视频在线观看 | 91精品国产99 | 手机免费看av片 | 久久精品无码专区 | 二级毛片| 国产伊人精品 | 日韩精品成人在线 | 国产一区二区三区精品在线 | 狠狠干2017| 黄色录像一级大片 | 91精品国产综合久久香蕉 | 国产精品一品二区三区的使用体验 | 最新自拍偷拍 | 一二三区在线视频 | 久久一线 | 国产一区二区在线电影 | 四虎国产精品永久免费观看视频 | 91麻豆产精品久久久久久夏晴子 | 99热这里只有精品首页 | 免费国产a| 国产三级三级在线观看 | 欧洲女性下面有没有毛发 | 中文字幕一区二区视频 | 国产成人a亚洲精v品无码 | 在线观看av片| 日本理论中文字幕 | 美女扒开内裤让男人捅 | 午夜小视频在线播放 | 日韩欧美三级在线 | 精品国产aⅴ一区二区三区四川人 | 免费啪视频 | 日韩在线91 |