• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            無我

            讓內心永遠燃燒著偉大的光明的精神之火!
            靈活的思考,嚴謹的實現
            豪邁的氣魄、頑強的意志和周全的思考

            eSNACC學習

            深入剖析eSNACC源代碼!
            eSNACC的C運行時庫動態內存管理
                 摘要: 本文研究eSNACC的C運行時庫動態內存管理。

            eSNACC的運行時庫和代碼生成用的內存管理函數用的是統一的宏定義原型,但是支持用戶自己配置內存管理方案。eSNACC本身提供兩種內存管理方案:

            一個是mem.h/c定義的直接分配;另一個是nibble-alloc.h/c定義的Nibble memory系統。
              閱讀全文

            posted @ 2012-04-27 15:42 Tim 閱讀(441) | 評論 (0)  編輯

            剖析eSNACC的hash函數
                 摘要: 我們前面已經寫了一篇文章剖析eSNACC哈希結構的設計和實現 剖析eSNACC哈希結構的設計和實現 ,而本篇我們專門剖析eSNACC中的hash函數。  閱讀全文

            posted @ 2012-04-26 15:37 Tim 閱讀(1679) | 評論 (2)  編輯

            剖析eSNACC哈希結構的設計和實現
                 摘要: 本文剖析hash.h/c,從源代碼來剖析eSNACC哈希結構的設計和實現。

            為什么要在這里剖析hash呢?一個順理成章的理由是:我們準備剖析eSNACC對ANY(s)類型的編碼和解碼,可是ANY的實現依賴于hash,所以我們就需要先把這條路打通了。O(∩_∩)O哈哈~是不是很有說服力呀?

            好,閑話少述,言規正傳。我們知道hash對一個系統而言,一般都是一個很有價值的底層基礎設施。從作用上來說,他實現的優劣極大的影響著整個系統的性能。從技術上來說,也是很能體現含金量的一個模塊。所以,對eSNACC實現的這個寶藏,我們下定決心要刨根問底、直搗黃龍!
              閱讀全文

            posted @ 2012-04-26 15:36 Tim 閱讀(1758) | 評論 (1)  編輯

            eSNACC對ASN.1 constructors的處理
                 摘要: 首先讓我們來學習一下ASN.1的Constructors類型 。
            然后我們來研究eSNACC的C代碼生成和C運行時庫對ASN.1 constructors的處理辦法。
              閱讀全文

            posted @ 2012-04-25 15:01 Tim 閱讀(1686) | 評論 (2)  編輯

            eSNACC對OBJECT IDENTIFIER的編碼和解碼
                 摘要: 本文剖析asn-oid.h/c,從源代碼來學習eSNACC對OBJECT IDENTIFIER的編碼和解碼。

            在研究代碼之前,我們先來說明什么是OBJECT IDENTIFIER。

              閱讀全文

            posted @ 2012-04-24 16:30 Tim 閱讀(1796) | 評論 (0)  編輯

            eSNACC對ASN.1內置字符串的編碼和解碼
                 摘要: eSNACC運行時庫直接支持各種各樣的ASN.1字符串定義。這包括PrintableString, BMPString, TeletexString, NumericString, IA5String, UniversalString, UTF8String, VisibleString。其做法也大同小異,所有這些字符串都是在eSNACC的字節串基礎上typedef過來的,只是根據各自特性的不同而在編碼解碼時有某些判斷,或者加了某些判斷函數等。只有UTF8String相對比較復雜一些。讓我們一起來分析一下吧。

              閱讀全文

            posted @ 2012-04-24 11:41 Tim 閱讀(1278) | 評論 (1)  編輯

            eSNACC對OCTET STRING 的編碼和解碼
                 摘要: 本文剖析asn-octs.h/c,從源代碼來學習eSNACC對OCTET STRING的編碼和解碼。

            eSNACC對字節串OCTET STRING的處理與上一篇描述的比特串的方法類似,而且字節串的處理更加簡單。所以在上一篇的基礎上,我們專門分析上一篇中對連接型串解碼時沒有展開講的函數,也作為上一篇的補充。  閱讀全文

            posted @ 2012-04-23 16:22 Tim 閱讀(3250) | 評論 (0)  編輯

            eSNACC對BIT STRING的編碼和解碼
                 摘要: 本文剖析asn-bits.h/c,從源代碼來學習eSNACC對BIT STRING的編碼和解碼。

            比特字符串的編碼和解碼比較復雜,而且我認為還存在一些問題,我們來仔細分析一下代碼吧。

              閱讀全文

            posted @ 2012-04-22 18:20 Tim 閱讀(978) | 評論 (3)  編輯

            eSNACC對INTEGER的編碼和解碼
                 摘要: 本文剖析asn-int.h/c,從源代碼來學習eSNACC對INTEGER的編碼和解碼。

            eSNACC中的整形與上一篇所講的布爾型一樣,也很簡單,不過代碼中還是有一點有趣的地方。
              閱讀全文

            posted @ 2012-04-20 17:26 Tim 閱讀(1684) | 評論 (4)  編輯

            eSNACC對BOOLEAN的編碼和解碼
                 摘要: 本文剖析asn-bool.h/c,從源代碼來學習eSNACC對BOOLEAN的編碼和解碼。  閱讀全文

            posted @ 2012-04-20 15:55 Tim 閱讀(316) | 評論 (0)  編輯

            eSNACC對長度的編碼和解碼
                 摘要: 本文剖析asn-len.h/c,從源代碼來學習eSNACC對長度的編碼和解碼。
            在正式引出源代碼之前,我覺得非常有必要強調幾點非常重要的知識:
            1、eSNACC編譯器對數據的編碼設計是反序的,也就是先編碼數據并寫進緩沖區,以此而知道了編碼好的數據長度,然后再將本長度值編碼插到緩沖區前面。這樣設計的目的是減少性能的損失。而很多其他編譯器是開一個臨時緩沖區來完成這個工作,這就帶來了性能的損失。詳細的說明,請參加eSNACC文檔。我們要記住的是eSNACC編碼時反序的。
            2、eSNACC既支持確定長度編碼也支持不確定長度編碼。原理是:確定長度編碼,那么在數據之前的若干字節來表面后面數據的長度;若為不確定長度編碼,那么數據前面的長度字節為0x80,此代表長度不確定,然后在數據最后用EOC(End-Of-Contents)來表示數據的結束。
            3、eSNACC支持BER和DER編碼。不過BER允許不確定長度,但是DER只支持確定長度,所以在他們的編碼解碼函數上有所不同。
            4、如果感覺代碼中的PROTO和PARAMS很陌生,請讀本系列中的《關于老式函數聲明》一  閱讀全文

            posted @ 2012-04-20 11:00 Tim 閱讀(1607) | 評論 (0)  編輯

            關于老式函數聲明
                 摘要: #ifdef __USE_ANSI_C__
            #define PROTO( X) X
            #else /* !__USE_ANSI_C__ */
            #define PROTO( X) ()
            #endif /* __USE_ANSI_C__ */  閱讀全文

            posted @ 2012-04-19 16:46 Tim 閱讀(519) | 評論 (0)  編輯

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導航

            統計

            公告

            本博客原創文章,歡迎轉載和交流。不過請注明以下信息:
            作者:TimWu
            郵箱:timfly@yeah.net
            來源:m.shnenglu.com/Tim
            感謝您對我的支持!

            留言簿(9)

            隨筆分類(173)

            IT

            Life

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            久久国产精品-久久精品| 理论片午午伦夜理片久久| 久久狠狠高潮亚洲精品| 2021久久国自产拍精品| 久久久久亚洲AV成人网人人软件| 日本精品久久久久影院日本 | 久久精品国产亚洲AV蜜臀色欲 | 国内精品伊人久久久久777| 久久精品国产AV一区二区三区| 久久久久久人妻无码| 国产精品99久久不卡| 无码久久精品国产亚洲Av影片 | 久久久久久毛片免费播放| 久久国产精品免费一区| 无码超乳爆乳中文字幕久久| 99久久亚洲综合精品网站| 久久精品国产亚洲AV香蕉| 亚洲欧洲久久av| 亚洲国产精品久久66| 久久综合香蕉国产蜜臀AV| 久久精品国产亚洲AV久| 中文成人无码精品久久久不卡| 91久久精品国产免费直播| 国产成人久久AV免费| 久久人人爽人人爽人人AV东京热 | 97久久超碰国产精品2021| 亚洲AV无码久久精品成人 | 久久九九青青国产精品| 丰满少妇高潮惨叫久久久| 亚洲AV日韩精品久久久久| 色婷婷综合久久久久中文| 中文精品久久久久人妻不卡| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 品成人欧美大片久久国产欧美...| 久久精品国产亚洲av麻豆小说| 亚洲国产另类久久久精品小说| 久久综合九色综合网站| 久久久亚洲AV波多野结衣| 99精品国产99久久久久久97| 男女久久久国产一区二区三区| 欧美激情一区二区久久久|