• <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周時(shí)間移植了log4c1.2.2,比預(yù)想的時(shí)間長(zhǎng)了點(diǎn)大概做了以下幾件事:
               移植log4c到win32 pc平臺(tái)
               移植log4c到arm和mips平臺(tái)
               編譯成dll文件并測(cè)試

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

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

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

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

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

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

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



            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿

            文章分類(lèi)

            文章檔案

            收藏夾

            搜索

            •  

            最新評(píng)論

            国产午夜精品久久久久九九电影| 久久精品无码一区二区三区| 久久久精品无码专区不卡| 91超碰碰碰碰久久久久久综合| 香蕉久久夜色精品升级完成| 久久婷婷国产剧情内射白浆| 99久久精品久久久久久清纯| 三级三级久久三级久久| 色欲综合久久躁天天躁| 亚洲精品久久久www| 99久久99久久精品免费看蜜桃| 久久成人永久免费播放| 伊人色综合久久天天人守人婷| 国产精品免费久久| 国产精品久久久久久久久软件| 777午夜精品久久av蜜臀| 久久青青草原亚洲av无码app| 99国内精品久久久久久久| 欧美国产成人久久精品| 99热精品久久只有精品| 国产精品免费看久久久| 久久久久亚洲av综合波多野结衣 | 亚洲精品高清国产一线久久| 久久ww精品w免费人成| 久久久噜噜噜久久中文字幕色伊伊| 欧美一区二区三区久久综合 | 久久一日本道色综合久久| 久久久网中文字幕| 国产精品午夜久久| 久久国产午夜精品一区二区三区| 国内精品久久国产大陆| 久久精品国产亚洲av日韩| 人妻久久久一区二区三区| 无码人妻少妇久久中文字幕蜜桃 | 99久久国产免费福利| 少妇内射兰兰久久| 性高湖久久久久久久久| 国产精品国色综合久久| 久久99国产精品99久久| 青青青伊人色综合久久| 久久WWW免费人成—看片|