UDT4分析(一)之主要api呼叫關係

2021-06-21 17:05:04 字數 783 閱讀 2291

在使用udt庫的時候,需要包含標頭檔案。主要完成了以下幾項工作:

完成對udt epoll、udt 選項、udt監控程式的宣告;

完成udt異常的宣告;

完成udt庫socket介面的宣告。

下面主要談談udt庫socket介面的呼叫關係。如下圖所示:

cudt類中的成員函式分為private和public兩類:

其中public中的成員函式均為static,只有乙個副本,在api.cpp檔案中定義;

而private中的成員函式均是非static,在private中還有乙個靜態變數static cudtunited s_udtunited,在core.cpp檔案中定義。

當使用者通過udt庫呼叫相關api函式的時候,會呼叫cudt中的靜態成員函式,然後在靜態成員函式中,通過s_udtunited呼叫cudtunited類中的介面函式。注意,下面是呼叫的關鍵,在cudtunited類的newsocket介面中new cudt,然後通過指標ns->m_pudt呼叫cudt的private成員函式,如上圖中的open,listen,connect等。由於是友元關係,所以可以呼叫private成員函式。

編譯原理 LR分析(主要是LR(0)分析)

lr方法的基本思想就是,在規範歸約的過程中,一方面要記住已移進和歸約出的整個字串,也就是說要記住歷史 一方面能夠根據所用的產生式的推測未來可能碰到的輸入符號,也就是說能夠對未來進行展望。這樣,當一串貌似控制代碼的字串出現在分析棧的頂部時,我們希望能夠根據歷史和展望以及現實的輸入符號這三部分的材料,決...

編譯原理 LR分析(主要是LR(0)分析)

lr方法的基本思想就是,在規範歸約的過程中,一方面要記住已移進和歸約出的整個字串,也就是說要記住歷史 一方面能夠根據所用的產生式的推測未來可能碰到的輸入符號,也就是說能夠對未來進行展望。這樣,當一串貌似控制代碼的字串出現在分析棧的頂部時,我們希望能夠根據歷史和展望以及現實的輸入符號這三部分的材料,決...

Zebra命令模式分析 一 分析

zebra分析版本 zebra 0.95a 命令儲存結構 對於上圖中略去的cmd elemnt,它代表了一條命令,具體展開如下 每條命令按上圖儲存,命令被分拆為tokens,儲存在vector中 如此,形成了zebra命令模式的基本框架 所有命令被分類到不同模式下。這裡的模式即上面圖中的 節點cmd...