• <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>

            飄雪

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              31 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

            #

            ?? ?剛才下載了一個軟件,自帶了一個man目錄,里面有一些幫助文件,但沒有提供makefile把這些幫助文件安裝到usr目錄。
            ??? 查了查man man,發(fā)現(xiàn)用“man -l manfilename”就可以查看幫助文件的內(nèi)容了。
            posted @ 2009-02-17 18:38 飄雪 閱讀(857) | 評論 (0)編輯 收藏

                 摘要: 最近在做嵌入式開發(fā),這個嵌入式平臺上,支持標準c庫,但不支持mbcs,也不支持unicode。
            對中文來說,通常有三種編碼方案可供選擇:
            1. 用mbcs編碼存儲(gb2312/gbk/gb18030)。
            2. 用unicode編碼存儲。
            3. 用utf-8編碼存儲。  閱讀全文
            posted @ 2009-02-17 15:44 飄雪 閱讀(2174) | 評論 (13)編輯 收藏

                Google Toolbar 5 for IE 出來已經(jīng)有一段時間了,但for firefox的一直是beta版,所以我也一直沒有升級。昨天剛好有閑,就下載下來試了一下。首先是google notebook被集成到toolbar里了,這樣也好,省得我多裝一個插件了。另一個新特性是“從任何位置訪問工具欄設(shè)置”,這個功能的想法是相當好,當你換系統(tǒng)的時候始終保持同一個設(shè)置,但是發(fā)現(xiàn)在ie和firefox之間同步經(jīng)常有問題,而且響應(yīng)過慢,算是一個雞肋功能,空有一個好想法,卻沒能做得完美。最不能忍受的是calendar按鈕顯示的樣式改了,顯示日程的時候經(jīng)常要loading半天,最后還是什么都沒load出來,不像以前,顯示格式雖然簡單,但是一目了然,速度很快。
                折騰了一個小時,最好還是換到版本3了,還是等Google Toolbar 5完善一下再升級好了。

            posted @ 2009-01-16 11:12 飄雪 閱讀(237) | 評論 (0)編輯 收藏

            示例:
            sudo mount -t cifs -o username=DomainName\UserName,password=YourPass //WindowsIP/ShareName /mnt
            需要安裝smbfs,同時要注意正反斜杠的寫法和文件名的大小寫
            posted @ 2009-01-14 22:07 飄雪 閱讀(261) | 評論 (0)編輯 收藏

            ?? ?前兩天試著用Windows Live Writer寫博客,感覺微軟的軟件還是一如既往的好用,微軟的確是桌面軟件的霸主。但是呢,Live Writer終究是個客戶端軟件,對于我這樣天天都要跨多臺機器、跨多個操作系統(tǒng)的用戶來說,桌面軟件的局限性是顯而易見的。我在公司兩臺機器,家里一臺 機器,每臺都是windows/linux雙系統(tǒng)。比如我在公司寫個博客,寫了一半回家了,家里卻沒有這個文件的存檔,無法再繼續(xù)。又比如我在 windows下寫了一半,因為工作需要換到linux下了,一會兒工作閑下來又想再寫點,我總不能為了寫個博客再切換一次系統(tǒng)吧。
            ??? 今天聽說google doc也能寫博客,趕緊試了一下,發(fā)現(xiàn)這正是我需要的東西。操作就不說了,跟Live Write類似。這里只說說他最合我心意的功能,第一個自然就是瀏覽器操作可以跨機器、跨操作系統(tǒng),最適合我這種老要換系統(tǒng)的人了,第二個就是相當于把所 有的博客都在google存檔了,我看了很多博客系統(tǒng),很多都沒有備份功能,而且google docs不用考慮系統(tǒng)崩潰、硬盤損壞、重裝系統(tǒng)這些亂七八糟的問題。比較遺憾的是尚不支持同時發(fā)布到多個博客。
            ??? 感覺google真是互聯(lián)網(wǎng)時代偉大的公司,想法就是跟微軟這種桌面霸主不一樣。我現(xiàn)在離不開的google產(chǎn)品或服務(wù)有:google reader,gmail,google calendar,google docs,google toolar,google notebook。
            ?? ? 一個小tip,訪問google docs請用https,不要用http。不然等你寫了一半,突然出現(xiàn)網(wǎng)頁無法訪問,可別怪我沒提醒你呀。
            posted @ 2009-01-14 17:19 飄雪 閱讀(687) | 評論 (4)編輯 收藏

            firefox里的dom沒有xml屬性,但是有XMLSerializer對象,可以用(new XMLSerializer).serializeToString(dom) 來輸出xml的文本內(nèi)容

            posted @ 2009-01-10 22:43 飄雪 閱讀(128) | 評論 (0)編輯 收藏

            firefox里的onreadystatechange要全小寫才可以,我記得以前IE里用的是onReadyStateChange啊,今天居然在firefox下不行,弄了半天,原來要全部小寫,奇怪呀。
            posted @ 2009-01-10 22:13 飄雪 閱讀(688) | 評論 (0)編輯 收藏

                最近谷歌金山詞霸用得很不爽,聽說有道詞典做得不錯,今天下載了個試試。有道有個生詞自動同步到服務(wù)器的功能,趕緊填上用戶名密碼測試一下,結(jié)果老是說用戶名密碼不對,我就奇了怪了,自己的密碼還能記錯啊。只好來到網(wǎng)易通行證的注冊頁面,重新注冊一個吧,填上自己的老用戶名,結(jié)果顯示此用戶名可用,看來原來的老帳號果然是被網(wǎng)易刪了。
                算來我也是網(wǎng)易免費郵箱的第一批用戶了,最近是有段時間沒用,帳號就這么被刪了,它的注冊頁面也沒有說帳號多長時間不活動就刪除呀。你丫太狠了,還好我沒存什么重要東西在里面。
               

            posted @ 2009-01-09 15:53 飄雪 閱讀(628) | 評論 (7)編輯 收藏

                我平時上班時喜歡在線聽個收音機。當然了,網(wǎng)頁版的在線收音機不考慮,因為總要打開一個網(wǎng)頁,經(jīng)常一不小心就關(guān)了。以前用過龍卷風(fēng)收音機,但是經(jīng)常關(guān)閉程序之后進程不結(jié)束,而且它自帶的電臺地址都不公開,看著心煩。作為一個firefox的忠實用戶,自然希望用一個firefox擴展來實現(xiàn)收音機功能。在Firefox Add-ons網(wǎng)站上找了找,還真有這么一個插件,其中的收音機功能能夠滿足我的需求,但它帶了太多的私貨,有天氣預(yù)報、rss閱讀,尤其是帶了一個搜索框,還不能關(guān)掉。本來firefox已經(jīng)自帶了一個搜索框,我裝的google toolbar上也有一個,再來一個搜索框,整個界面沒法看了,最終還是放棄了這個插件。
                身為一個刀客...咳,錯了,身為一個Geeker,這種情況下自然別無選擇,只好自己動手了。雖然以前并沒有做過firefox的擴展,不過我想這應(yīng)該難不倒一個Geeker。
                首先自然是來到mozilla的關(guān)于擴展/插件開發(fā)的官方網(wǎng)站Extension development,文檔不錯,大致看了看,很簡單嘛。說起來就是用XUL定義界面,用javascript響應(yīng)事件,然后用幾個配置文件把這些串起來。XUL可以現(xiàn)學(xué)現(xiàn)賣,不行咱還可以從別人的擴展抄嘛,javascript自然不在話下,雖然很久沒看過了,寫幾個簡單函數(shù)那還不是小菜。網(wǎng)站上有現(xiàn)成的Tutorials,不到半小時,一個界面雛形連帶基本的事件響應(yīng)就出爐了。界面很簡單,播放、停止、音量按鈕各一個,再加一個選臺框和一個信息顯示欄。
                 接下來就是收音機功能了。思路照樣也很簡單,用javascript創(chuàng)建一個Media Player對象,然后用這個對象播放mms流就可以啦,核心代碼就幾行:

            var url ="";
            var wmp = new window.GeckoActiveXObject('{6BF52A52-394A-11d3-B153-00C04F79FAA6}');
            wmp.url 
            = url;

                寫完收工,馬上測試,我靠,見鬼了,GeckoActiveXObject出錯,錯誤是:uncaught exception: [Exception... "Unable to create an instance of the desired COM classCOM Error Result = 80004005"  nsresult: "0x80570039 (NS_ERROR_XPC_COM_CREATE_FAILED)" 。又仔細檢查了一遍代碼,沒錯呀,應(yīng)該就是這么寫的。
                這下可真成卡門了,我迷迷糊糊覺得這應(yīng)該跟權(quán)限、策略設(shè)置什么的有點關(guān)系,可是不知道從哪兒下手,google上翻了一圈,也沒找到點建設(shè)性的意見。沒辦法,又打開我裝的其他擴展,看別人是怎么搞的,其中一個跟我想要的功能類似的一個擴展,光js文件就有4萬多行,UltraEdit打開都一頓一頓的,也看了一遍,還挑出其中的代碼測了一下,都不行。在這兒就卡了一下午,只好翻別人的插件,希望能找到點頭緒。最后還真翻出來點東西,在一個插件下發(fā)現(xiàn)有components目錄,里面有兩個文件,npmozax.dll和nsAxSecurityPolicy.js,從文件名看起來似乎跟安全策略有關(guān),打開看了看,沒啥特別的,一不做二不休,把整個components目錄拷到自己的目錄下,試了試,嘿嘿,行了。真是柳暗花明又一村啊,我覺得關(guān)于安全策略之類的mozilla的網(wǎng)站上應(yīng)該會講到吧,也許是我不仔細,沒有找到,但是居然用拷貝兩個文件的方法解決了,具體原理以后有時間再看吧,先能用再說。
                最后,秀一下我純手工打造的收音機,雖然目前難看了一點,但是能用,以后有空再改得好看點
             

                今天光搞這個該死的權(quán)限就用了一天,工作進度落下一大截,明天一定好好工作。

            posted @ 2009-01-08 23:54 飄雪 閱讀(2142) | 評論 (8)編輯 收藏

                改進log4c的時間戳結(jié)構(gòu):

                log4c里對于事件時間戳的定義是這樣的:
            1 #ifndef _WIN32
            2     struct timeval evt_timestamp;
            3 #else
            4     FILETIME evt_timestamp;
            5 #endif
               
                這個不用說是很惡了,存的是各個平臺的api得到的原始時間,格式化的時候還要按不同平臺寫不同的格式化代碼,而我們輸出日志的時候通常是按年月日時分秒的結(jié)構(gòu)來輸出,存一個通用的結(jié)構(gòu)更好,time.h里就有一個比較好的結(jié)構(gòu)struct tm, 可以使用gmtime或localtime來得到。

             1 struct tm {
             2         int tm_sec;     /* seconds after the minute - [0,59] */
             3         int tm_min;     /* minutes after the hour - [0,59] */
             4         int tm_hour;    /* hours since midnight - [0,23] */
             5         int tm_mday;    /* day of the month - [1,31] */
             6         int tm_mon;     /* months since January - [0,11] */
             7         int tm_year;    /* years since 1900 */
             8         int tm_wday;    /* days since Sunday - [0,6] */
             9         int tm_yday;    /* days since January 1 - [0,365] */
            10         int tm_isdst;   /* daylight savings time flag */
            11         };

                時間精確到秒,而且可惜的是,這些函數(shù)的跨平臺性不夠好,windows ce上就沒有,所以定義一個通用的時間結(jié)構(gòu)如下:

             1 typedef struct 
             2 {
             3     int tm_milli;   /* millisecond - [0,999] */
             4     int tm_sec;     /* seconds after the minute - [0,59] */
             5     int tm_min;     /* minutes after the hour - [0,59] */
             6     int tm_hour;    /* hours since midnight - [0,23] */
             7     int tm_mday;    /* day of the month - [1,31] */
             8     int tm_mon;     /* months since January - [0,11] */
             9     int tm_year;    /* years since 1900 */
            10     int tm_wday;    /* days since Sunday - [0,6] */
            11     int tm_yday;    /* days since January 1 - [0,365] */
            12 } log4c_common_time_t;

                跟struct tm相比,增加了一個tm_milli,因為依賴平臺相關(guān)api的話,可以取到更精確的時間。這樣輸出的時候把它的fields格式化就可以了。

                接下來就是取當前時間戳的函數(shù)來,跟平臺相關(guān),支持struct tm,localtime的版本如下,精度為秒:

             1 void xp_gettimeofday(log4c_common_time_t* p,void* reserve)
             2 {
             3     struct tm tm;
             4     time_t t = time(0);
             5     tm = *localtime(&t);
             6 
             7     p->tm_hour    = tm.tm_hour;
             8     p->tm_isdst   = tm.tm_isdst;
             9     p->tm_mday    = tm.tm_mday;
            10     p->tm_milli   = 0;
            11     p->tm_min     = tm.tm_min;
            12     p->tm_mon     = tm.tm_mon;
            13     p->tm_sec     = tm.tm_sec;
            14     p->tm_wday    = tm.tm_wday;
            15     p->tm_yday    = tm.tm_yday;
            16     p->tm_year    = tm.tm_year + 1900;
            17 }

                Windows CE使用的版本如下,精度為毫秒,當然windows也可以使用:

             1 void xp_gettimeofday(log4c_common_time_t* p)
             2 {
             3     SYSTEMTIME time;
             4     GetSystemTime(&time);
             5     p->tm_milli    = time.wMilliseconds;
             6     p->tm_sec    = time.wSecond;
             7     p->tm_min    = time.wMinute;
             8     p->tm_hour    = time.wHour;
             9     p->tm_mday    = time.wDay;
            10     p->tm_mon    = time.wMonth;
            11     p->tm_wday    = time.wDayOfWeek;
            12     p->tm_year    = time.wYear;
            13 }


            posted @ 2009-01-05 11:32 飄雪 閱讀(1468) | 評論 (1)編輯 收藏

            僅列出標題
            共4頁: 1 2 3 4 
            亚洲精品NV久久久久久久久久| www性久久久com| 久久精品国产精品亚洲| 久久久精品久久久久特色影视| 欧美成a人片免费看久久| 久久噜噜久久久精品66| 久久SE精品一区二区| 99999久久久久久亚洲| 久久九九久精品国产| 欧美熟妇另类久久久久久不卡| 国内精品久久久久影院一蜜桃 | 国产免费久久久久久无码| 人妻中文久久久久| 国产精品久久久天天影视| 久久久精品国产Sm最大网站| 久久久精品国产sm调教网站 | 日韩人妻无码一区二区三区久久99 | 久久久午夜精品福利内容| 国产99久久精品一区二区| 国产精品亚洲综合久久| 9191精品国产免费久久| 亚洲精品乱码久久久久久自慰| 久久免费香蕉视频| 国产—久久香蕉国产线看观看| 久久99精品国产自在现线小黄鸭| 色天使久久综合网天天| 久久亚洲国产精品123区| 国产 亚洲 欧美 另类 久久| 精品一区二区久久| AV狠狠色丁香婷婷综合久久| 久久久噜噜噜www成人网| 99久久精品国产一区二区| 精品久久久一二三区| 亚洲精品成人久久久| 欧美日韩精品久久久久| 久久天天躁狠狠躁夜夜av浪潮 | 久久精品麻豆日日躁夜夜躁| 亚洲精品无码久久久久sm| 一本色道久久99一综合| 久久久国产精品亚洲一区| 久久精品麻豆日日躁夜夜躁|