乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VxWorks操作系統(tǒng)復(fù)位實(shí)戰(zhàn)(三)[by Progsoft]

       海鵬 2009-11-07
      該死的While循環(huán)
      本文將列舉一個(gè)使用While循環(huán)導(dǎo)致死循環(huán)的實(shí)例。
      但凡看過一點(diǎn)通訊協(xié)議的人對(duì)以下的數(shù)據(jù)結(jié)構(gòu)應(yīng)該不會(huì)陌生:
      +-----------------+
      |    tag_1        |
      +-----------------+
      |    len_1        |
      +---+-------------+
      | c |  tag_1.1    |
      +   +-------------+
      | o |  len_1.1    |
      +   +-------------+
      | n |  content_1.1|
      +   +-------------+
      | t |  tag_1.2    |
      +   +-------------+
      | e |  len_1.2    |
      +   +-------------+
      | n |  content_1.2|
      +   +-------------+
      | t |  ......     |
      +   +-------------+
      | 1 |  ......     |
      +---+-------------+
      具體舉例如下:
      該數(shù)據(jù)結(jié)構(gòu)在某協(xié)議的定義里面是這樣的。
      TAG 是 1個(gè)字節(jié),從0~0xFF,表明某數(shù)據(jù)的類型
      LEN 是 1個(gè)字節(jié),表明該數(shù)據(jù)的總長(zhǎng)度(包括TAG+LEN+CONTENT)
      CONTENT 數(shù)據(jù)內(nèi)容的長(zhǎng)度根據(jù)LEN來確定。
      其中某種TAG的內(nèi)容字段,可能是包涵其他N個(gè)TAG及其內(nèi)容。(N值一般沒有顯式定義)
      對(duì)照這個(gè)圖我們可以看到:
      TAG1 就包涵有TAG1.1、TAG1.2 ...
      那么我們程序一般會(huì)怎么寫呢?
      為使程序簡(jiǎn)單,我們先做一些假設(shè):
      1、TAG1已解碼
      2、TAG1的長(zhǎng)度等于usLen
      3、TAG1的內(nèi)容從aucBuffer[0]開始
      5、MsgContent記錄TAG、LEN、CONTENT的偏移
      6、MsgContent定義足夠大不會(huì)溢出

      usOffset = 0;
      usCount  = 0;
      while (usOffset < usLen)
      ...{
          /**//* 記錄TAG */
          MsgContent[usCount].Tag = aucBuffer[usOffset];
          /**//* 記錄該TAG的內(nèi)容長(zhǎng)度 */
          MsgContent[usCount].Len = aucBuffer[usOffset + 1];
          /**//* 記錄該TAG的地址,注意此處一般不會(huì)將內(nèi)容拷貝出來,到實(shí)際使用的時(shí)候在取 */
          MsgContent[usCount].Content = usOffset;
          /**//* 解碼下一個(gè)TAG的偏移 */
          usOffset += aucBuffer[usOffset + 1];
          /**//* 記錄TAG數(shù)目 */
          usCount++;
      }
      這個(gè)程序有些什么錯(cuò)誤呢?請(qǐng)看下回分解
       
      本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/progsoft/archive/2007/01/21/1488951.aspx

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多