<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                PBUF\_RAM類型的pbuf空間是通過內存堆分配而來的,這種類型的pbuf在協議棧中使用得最多,一般協議棧中要發送的數據都是采用這種形式,在申請這種pbuf內存塊的時候,協議棧會在管理的內存堆中根據需要的大小進行分配對應的內存空間,這種pbuf內存塊包含數據空間以及pbuf數據結構區域,在連續的RAM內存空間中。很多人又會有疑問了,不是說各個協議層都有首部嗎,這些內存空間在哪呢?能想到這一層的讀者是非常聰明的,我很欣慰,你們有認真看前面的章節,內核申請這類型的pbuf時,也算上了協議首部的空間,當然是根據協議棧不同層次需要的首部進行申請,LwIP也使用一個枚舉類型對不同的協議棧分層需要的首部大小進行定義,關于各層間的首部區域我們在后續講解,此處只需知道即可。那么申請這種pbuf是怎么樣申請的呢?具體見: **申請PBUF_RAM類型的pbuf(偽代碼)** ``` 1 /* 函數原型 */ 2 struct pbuf * 3 pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type); 4 5 //例子 6 struct pbuf *p; 7 8 p = pbuf_alloc(PBUF_RAW, (u16_t)(req_len + 1), PBUF_RAM); 9 10 p = pbuf_alloc(PBUF_TRANSPORT, 1472, PBUF_RAM); ``` PBUF\_RAM類型的pbuf示意圖具體見圖 6?1,圖中可以看出整個pbuf就是一個連續的內存區域,layer(offset)就是各層協議的首部,如TCP報文首部、IP首部、以太網幀首部等,預留出來的這些空間是為了在各個協議層中靈活地處理這些數據,當然layer的大小也可以是0,具體是多少就與數據包的申請方式有關,具體在后面的章節中講解。 ![](https://box.kancloud.cn/2435d96df05d54e773473da0803cd07f_311x598.png) 圖 6?1PBUF\_RAM類型的pbuf
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看