ns3原始碼閱讀 三 Application物件

2021-08-18 18:00:58 字數 784 閱讀 3028

ns3中可以根據物件中的typeid進行乙個物件的建立。每乙個物件的cc檔案都有這樣乙個巨集ns_object_ensure_registered,對物件進行註冊。這個巨集的內容:

#define ns_object_ensure_registered(type)       \

static

struct x ## type ## registrationclass \

\} x_ ## type ## registrationvariable

typeid 

packetsink::gettypeid (void)

addconstructor為物件型別註冊構造器。這樣就將乙個類的typeid與類的例項化關聯到一起。

typeid::addconstructor (void)

};callbackcb = makecallback (&maker::create);

doaddconstructor (cb);

return *this;

}

所以我看到packetsinkhelper向objectfactory設定的是ns3::packetsink的typeid。

packetsinkhelper::packetsinkhelper (std::string protocol, address address)

SparkSQL(原始碼閱讀三)

額,沒忍住,想完全了解sparksql,畢竟一直在用嘛,想一次性搞清楚它,所以今天再多看點好了 曾幾何時,有乙個叫做shark的東西,它改了hive的原始碼。突然有一天,spark sql突然出現,如下圖 好了,不逗了,言歸正傳。那麼一條sql傳統資料庫會是怎麼解析的呢?傳統資料庫的解析過程是按ru...

String原始碼閱讀(三)

public string split string regex,int limit else if no match was found,return this if off 0 return new string 如果limit大於最大返回長度,上面else中的 不會執行,在此處將最後一段放入l...

STL原始碼閱讀 三

list結點基類 struct list node base list結點 template struct list node public list node base list迭代器,迭代器型別雙向迭代器 struct list iterator base template struct lis...