• <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>
            posts - 0,  comments - 5,  trackbacks - 0
               花了2周時間移植了log4c1.2.2,比預(yù)想的時間長了點大概做了以下幾件事:
               移植log4c到win32 pc平臺
               移植log4c到arm和mips平臺
               編譯成dll文件并測試

               log4c的結(jié)構(gòu)非常清晰主要就是3個東西:
               layout:輸出日志的打印格式(dated, basic 等).
               appender:輸出日志的目的地(stdout、本地文件、輪詢文件等)需要指定它的layout.
               category:每一條日志的模塊名稱(名字自取),需要指定它的appender.

               log4c到目前為止對linux支持的最好,基本不用做什么修改就能直接編譯。在windows上面移植難度也不大,有幾個小的結(jié)構(gòu)找不到,做一些替換就行。由于對log4c內(nèi)部的xml解析模塊沒有看懂,而且覺得它用的東西有點復(fù)雜,所以在網(wǎng)上找了個最近比較流行的xml解析工具rapidxml,確實好用。并根據(jù)log4c的init模塊自己重新寫了讀取xml配置文件和初始化log4c模塊,反正就是參照它的初始化步驟改的。

               移植到wince上有很多問題,主要的就是wince缺少stat.h、string.h和io.h頭文件,對于我這種第一次在嵌入式上開發(fā)的菜鳥來說替換那幾個頭文件的函數(shù)確實費了一點時間。其中對string.h中的幾個字符串操作函數(shù)自己進(jìn)行了重寫(幸好io.h的接口都找到了wince下的替代函數(shù)。。。)
               另外在編譯成dll文件后測試發(fā)現(xiàn)程序老是報fatal錯誤,后來才知道原來是??臻g分配太少,以后對wince編程??臻g的分配一定要注意!
               最后還做了個支持unicode的日志接口,不過由于log4c內(nèi)部沒有寬字符的打印函數(shù),導(dǎo)致在輸入變參時只能輸出變參的頭一個字符,也是因為我對c的變參函數(shù)還不是完全掌握有關(guān)。這個遺留問題還得解決。

               另外發(fā)現(xiàn)程序中頻繁malloc內(nèi)存容易造成內(nèi)存碎片,對于頻繁分配的內(nèi)存盡量使用數(shù)組形式。

            通過這段時間熟悉了dll的基本原理對wince下的編碼特性也有了一定的了解。
            編程熟練度和解決問題去網(wǎng)上找答案的能力還有待提高。
            posted on 2010-06-04 10:34 saha 閱讀(3651) 評論(2)  編輯 收藏 引用

            FeedBack:
            # re: log4c移植總結(jié)
            2011-01-10 20:14 | wkj
            log4c 的WIN32移植,能否提供一個共享的版本呢?
            現(xiàn)在想在WIN上用這個日志庫,移植稍微花點時間。共享一下吧。  回復(fù)  更多評論
              
            # re: log4c移植總結(jié)[未登錄]
            2011-01-11 11:52 | saha
            不好意思,這是我在公司開發(fā)的代碼拿不出來
            大概步驟就是用rapidxml替換了log4c內(nèi)部自帶的xml解析來解析它的配置文件
            然后重寫了Init模塊,可以完全參照源代碼只要把對外的接口改成你需要的即可@wkj
              回復(fù)  更多評論
              

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理



            <2011年1月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            常用鏈接

            留言簿

            文章分類

            文章檔案

            收藏夾

            搜索

            •  

            最新評論

            久久青青草原精品国产| 丁香五月综合久久激情| 成人综合久久精品色婷婷| 久久精品一区二区三区AV| 国产午夜免费高清久久影院| 国产亚洲欧美成人久久片| 欧美久久亚洲精品| 国产亚洲精久久久久久无码| 久久国产美女免费观看精品| 亚洲精品国产字幕久久不卡| AAA级久久久精品无码区| 99蜜桃臀久久久欧美精品网站| 日本久久久久久中文字幕| 久久99精品久久久大学生| 久久精品国产99久久丝袜| 97久久精品人妻人人搡人人玩| 久久久久国产精品麻豆AR影院| 亚洲狠狠婷婷综合久久久久| 伊人伊成久久人综合网777| 亚洲国产成人久久综合一| 无码专区久久综合久中文字幕| 久久av高潮av无码av喷吹| 97热久久免费频精品99| 久久久久久人妻无码| 亚洲AV日韩AV天堂久久| 狠狠色丁香久久婷婷综合蜜芽五月| 国产福利电影一区二区三区久久久久成人精品综合 | 久久精品aⅴ无码中文字字幕不卡| 久久高清一级毛片| 国产精品免费久久久久久久久 | 久久99精品九九九久久婷婷| 久久久久久九九99精品| 无码精品久久久天天影视| 久久久黄色大片| 久久毛片一区二区| 久久综合亚洲鲁鲁五月天| 久久人人爽人人人人片av| 亚洲国产精品无码久久久秋霞2 | 久久夜色精品国产欧美乱| 久久国产免费直播| 久久久无码一区二区三区 |