小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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)購(gòu)買等信息,謹(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)論公約

    類似文章 更多