https://www.nsnam.org/docs/manual/html/new-modules.html
- 步驟0 - 模塊布局
原型module具有以下目錄結構(非必要):
- 步驟1 - 創建模塊框架
src目錄下,創建新模塊(create-module.py幫助創造這個目錄結構):
$ ./create-module.py new-module
$ cd new-module
$ ls
doc examples helper model test wscript
(如果需要,在構建期間將自動創建步驟0中列出的bindings/目錄。)
兩個wscript文件:
1.根目錄的wscript:
所有的ns-3模塊都依賴於core模塊,通常在其他模塊上。 這個依賴關系在wscript文件中指定,初始時:
def build(bld): module = bld.create_ns3_module('new-module', ['core'])
假設新模塊依賴於 internet, mobility和aodv模塊。 編輯后,wscript文件應該如下所示:
def build(bld): module = bld.create_ns3_module('new-module', ['internet', 'mobility', 'aodv'])
由於internet模塊依賴於core,所以有了internet就不要core了
您的模塊很可能具有模型源文件。 在model/new-module.cc和model / new-module.h中創建初始框架(將會成功編譯)。
如果你的模塊有helper源文件,那么它們將進入 helper/目錄; 再次,在該目錄中創建初始骨架。
測試和例子: 在 test/目錄中創建一個框架測試套件和測試用例。 框架測試套件將包含以下構造函數,它聲明一個名為new-module的新單元測試,單個測試用例由NewModuleTestCase1類組成:
NewModuleTestSuite::NewModuleTestSuite () : TestSuite ("new-module", UNIT) { AddTestCase (new NewModuleTestCase1); }