锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久国产一区二区三区,亚洲无亚洲人成网站77777,欧美国产精品日韩http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95496.html鑲ヤ粩鑲ヤ粩Mon, 07 Sep 2009 13:58:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95496.htmlhttp://m.shnenglu.com/woaidongmao/comments/95496.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95496.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/95496.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/95496.html鏈榪戠粰Httpdownload 灝佽浜嗘敮鎸?/span>gzip浼犺緭

 

浠?/span>HTTP鐨勮搴?/span>

1 瀹㈡埛绔?/span> 鍦?/span>http Request  Header涓婂甫涓?/span> Accept-Encoding:gzip,deflate

2鏈嶅姟鍣ㄨ嫢鏄敮鎸?/span>gzip鍘嬬緝鍒欏湪http reponse eader

閮ㄥ垎榪斿洖Content-Encoding: gzip 鎴栬?/span>Content-Type: application/x-gzip

3灝?/span>body閮ㄥ垎鐢?/span>gzip瑙e帇緙?/span> 鍒欏緱鍒扮綉欏靛唴瀹?/span>.

浼犺涓?/span>ie鏈?/span>bug 鍦ㄥ鐞?/span>js css鍘嬬緝鐨勬椂鍊欐湁bug,鎴戜笉鐞嗚В 鎸虹畝鍗曠殑鎬庝箞浼?xì)鏈?/span>bug鍛?/span>.

浠?/span>gzip鐨勮搴?/span>

gzip鏄竴縐嶆暟鎹牸寮?/span> 榛樿涓旂洰鍓嶄粎浣跨敤deflate綆楁硶鍘嬬緝data閮ㄥ垎

zlib涔熸槸涓縐嶆暟鎹牸寮?/span>,浣跨敤defalte綆楁硶鍘嬬緝鏁版嵁閮ㄥ垎.

deflate鏄竴縐嶅帇緙╃畻娉?/span>,鏄?/span>huffman緙栫爜鐨勪竴縐嶅姞寮?/span>

 

zlib鏄竴涓紑婧愬簱, 鎻愪緵deflate鍘嬬緝鍜屽搴旂殑infalte瑙e帇緙?/span>.

涓嶈繃zlib榛樿鐨?/span>deflate infalte榛樿鏄鐞?/span>zlib鏍煎紡鏁版嵁.蹇呴』浣跨敤

deflateInit2(&strm, DEFAULT_COMPRESSION,Z_DEFLATED, DEFAULT_WINDOWSIZE,DEFAULT_MEMLEVEL, Z_DEFAULT_STRATEGY);

鍒濆鍖栨墠鏄鐞?/span>raw deflate data.(榪欎竴鐐瑰湪zlib manul娌℃湁鎻?/span>,鍦?/span>faq涓彁鍒?/span>,鍥版壈浜嗘垜濂戒箙,榪樻槸鍚屼簨L甯垜璋冭瘯鍙戠幇)

鑷充簬gzip鏍煎紡瑙f瀽 瀵圭潃RFC鍐欏氨鍙互浜?/span>.

鍙傝RFC 1950 鍏充簬zlib http://www.faqs.org/rfcs/rfc1950.html

      RFC 1951 鍏充簬deflate http://www.faqs.org/rfcs/rfc1951.html

      RFC 1952 鍏充簬gzip http://www.faqs.org/rfcs/rfc1952.html 


nt  CGzip::Ungzip(const std::string & inStr , std::string &outStr){
    static int nFileCount=0;
        nFileCount++;
    string strZipFileName="test";
//    CConvert::StrToFile(inStr,strZipFileName+CConvert::toString<int>(nFileCount)+"H.gzip"clip_image001;
    if(inStr.length()<11){
        return -1;   
    }
    //process gzip header
    unsigned int skipCt = 10;
    unsigned int skipZeroCt = 0;
    unsigned char ID1 = inStr[0];
    unsigned char ID2 = inStr[1];
    unsigned char XFL=inStr[8];
    bool bFEXTRA = false ;
    bool bFNAME = false ;
    bool bFCOMMENT = false ;
    bool bFHCRC = false ;
    unsigned int XLEN = 0;
   
    if( (ID1!=31) && (ID2!=139)){
        return -1;  //
闈?/span>gzip澶撮儴
        }
    unsigned char CM = inStr[2];
    if(CM!=clip_image002{
        return -1; //
鐜板湪閮藉彧澶勭悊 deflate鍘嬬緝鐨?/span>
    }
    unsigned char FLG = inStr[3];
    if( (FLG & GZIP_HEAD_FEXTRA) != 0){
        bFEXTRA = true ;
        skipCt += 2;
        XLEN = inStr[10]+ inStr[11]*256 ;//
鎸夌収灝忕瀛楄妭搴忓垪澶勭悊
        skipCt += XLEN;
    }
    if( (FLG & GZIP_HEAD_FNAME) != 0){
        bFNAME = true;
        skipZeroCt++;
    }
    if( (FLG & GZIP_HEAD_FCOMMENT) != 0){
        bFCOMMENT = true;
        skipZeroCt++;   
    }
   
    size_t passedZeroCt = 0;
   
    size_t iStep = skipCt ;
    for( size_t iStep =  skipCt ; iStep<inStr.length(); iStep++){
            if(passedZeroCt>=skipZeroCt){
                break;   
            }
            if(inStr[iStep]==''clip_image001{
                passedZeroCt++;   
            }
       
    }
    skipCt = iStep ;
    if( (FLG & GZIP_HEAD_FHCRC) != 0){
        bFHCRC = true;
        skipCt+=2 ;
    }
        string coreStr = inStr.substr(skipCt,inStr.length()-8-skipCt);
           return CGzip::Inflate(coreStr,outStr);
   
   
   
}

 

int  CGzip:clip_image003ogzip(const std::string & inStr , std::string &outStr){
    char pAddHead[10];
    unsigned long crc = 0;
    // gzip header
    static const char deflate_magic[2] = {'37', '\213'};
    snprintf(pAddHead, 10,
            "%c%c%c%c%c%c%c%c%c%c", deflate_magic[0],
            deflate_magic[1], Z_DEFLATED, 0 /* flags */,
            0, 0, 0, 0 /* 4 chars for mtime */,
            0 /* xflags */, 0xff);
    string addHead(pAddHead,10);
    //gzip's raw deflate body
    if(CGzip:clip_image003eflate(inStr,outStr)<0){
        return - 1;   
    }
    //gzip trailer
    crc = crc32(crc, (const Bytef*)inStr.data(), inStr.length());
    char  tailBuf[8];
    memcpy(tailBuf, &crc, 4);
    int isize=inStr.size();
    memcpy(tailBuf,&isize,4);
    string tailStr(tailBuf , 8 );
    outStr = addHead + outStr+tailStr;     //
    return outStr.length(); //



鑲ヤ粩 2009-09-07 21:58 鍙戣〃璇勮
]]>
zlib鐢ㄦ硶綆鍗曡鏄?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95495.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Mon, 07 Sep 2009 13:54:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95495.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/95495.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95495.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/95495.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/95495.html</trackback:ping><description><![CDATA[     鎽樿: 1. 濡備綍鑾峰緱zlib zlib鐨勪富欏墊槸:http://www.zlib.net/ 2. 鐢╒C++6.0鎵撳紑 鎶?涓嬭澆鐨勬簮浠g爜瑙e帇鎵撳紑,VC6.0鐨勫伐紼嬪凡緇忓緩濂戒簡,鍦╘projects\visualc6. 鍙屽嚮zlib.dsw, 鍙互鍦╒C++6.0涓湅鍒伴噷闈㈡湁3涓伐紼? zlib 鏄簱鏂囦歡(緙栬瘧璁劇疆閫変腑 win32 lib debug / release), 宸ョ▼example 鏄浣曚嬌鐢?z...  <a href='http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95495.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/woaidongmao/aggbug/95495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-09-07 21:54 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95495.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒╃敤 VC 緙栬瘧 Pcrehttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95493.html鑲ヤ粩鑲ヤ粩Mon, 07 Sep 2009 13:47:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95493.htmlhttp://m.shnenglu.com/woaidongmao/comments/95493.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95493.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/95493.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/95493.html鏂? Fenying

銆銆浠ュ墠鐢℅reta錛屼絾鎬庝箞閮借寰椾笉鐖斤紝鐗瑰埆鏄敤鎯簡PHP鐨勬垜錛岀敤鐫POSIX鐨勬鍒欒〃杈懼紡寰堜笉涔?fàn)鎯?

銆銆浜庢槸浠婂ぉ鐞㈢(浜嗕笅Pcre錛岃繖涓彿縐版渶寮哄ぇ鐨勬鍒欒〃杈懼紡搴撯︹?

銆銆涓嶈繃錛屾瘮璧稧reta鏈閮侀椃鐨勫氨鏄紪璇慞cre浜嗏︹?

銆銆鍦ㄧ綉涓婃壘浜嗕竴孌靛疄鍦ㄤ笉鎬庝箞鏈夌敤錛屽眳鐒惰鐢ㄥ埌mv.exe錛學(xué)indows XP涓嬩笂鍝壘鍘伙紵

銆銆鑳界敤rename涓轟粈涔堣鐢╩v.exe錛?

銆銆鎶婇偅孌電紪璇戣剼鏈滃己鏀光濅互鍚庯紝灝辨垚浜嗕笅闈㈢殑鏍峰瓙浜嗏︹?

銆銆褰撶劧浣犺繕鏄緱鏈塻ed.exe

銆銆濡傛灉娌℃湁璇風(fēng)偣姝や笅杞?sed.exe

銆銆鐒跺悗鎶妔ed.exe鏀懼埌pcre婧愮爜鐩綍涓嬶紝鎶婁笅闈㈢殑鏂囧瓧淇濆瓨涓簃ake.bat錛岀敤cmd榪涘叆pcre鐩綍錛岃繍琛宮ake鍗沖彲銆?

@echo off
echo 姝e湪棰勫鐞?..
echo ------------------------------------------
copy /y config.h.generic bak.h.generic
sed -e "s/#define HAVE_BCOPY 1/#define HAVE_BCOPY 0/g" config.h.generic > config.h
copy /y pcre.h.generic pcre.h
copy /y pcre_chartables.c.dist pcre_chartables.c
echo ------------------------------------------
echo 姝e湪緙栬瘧 dftables.exe ...
echo ------------------------------------------
cl -MD -DHAVE_CONFIG_H dftables.c
dftables.exe pcre_chartables.c
echo ------------------------------------------
echo 姝e湪緙栬瘧婧愪唬鐮佷負(fù)Obj鏂囦歡...
echo ------------------------------------------
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_chartables.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_compile.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_config.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_dfa_exec.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_exec.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_fullinfo.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_get.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_globals.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_info.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_maketables.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_newline.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_ord2utf8.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_refcount.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_study.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_tables.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_try_flipped.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_ucp_searchfuncs.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_valid_utf8.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_version.c
cl -O1 -MD -DHAVE_CONFIG_H -c pcre_xclass.c
echo ------------------------------------------
echo 姝e湪鐢熸垚Lib鏂囦歡...
echo ------------------------------------------
lib -out:pcre.lib pcre_chartables.obj pcre_compile.obj pcre_config.obj pcre_dfa_exec.obj pcre_exec.obj pcre_fullinfo.obj pcre_get.obj pcre_globals.obj pcre_info.obj pcre_maketables.obj pcre_newline.obj pcre_ord2utf8.obj pcre_refcount.obj pcre_study.obj pcre_tables.obj pcre_try_flipped.obj pcre_ucp_searchfuncs.obj pcre_valid_utf8.obj pcre_version.obj pcre_xclass.obj
echo ------------------------------------------
echo 姝e湪榪樺師...
echo ------------------------------------------
copy /y bak.h.generic config.h.generic
echo ------------------------------------------
echo 姝e湪娓呯悊...
del *.obj
del dftables.exe
del bak.h.generic
del config.h
del dftables.lib
del dftables.exp
del pcre_chartables.c
echo ------------------------------------------
echo 瀹屾垚
echo 鏈緇堢敓鎴愬垪琛細(xì)
echo -       pcre.lib
echo -       pcre.h
echo ------------------------------------------
pause
@echo on

銆銆鏈鍚庣敓鎴恜cre.lib鍜宲cre.h涓や釜鏂囦歡銆?/p>

鑲ヤ粩 2009-09-07 21:47 鍙戣〃璇勮
]]>
VC++涓嬌鐢╖lib鐨勪竴涓緥瀛?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95490.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Mon, 07 Sep 2009 13:46:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95490.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/95490.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/95490.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/95490.html</trackback:ping><description><![CDATA[<p>棣栧厛鍒?a >www.zlib.net</a>涓嬭澆涓猌LIB,瑙e帇緙╁悗鎵撳紑zlib-1.2.3\projects\visualc6\zlib.dsw <p>閫夋嫨Win32 LIB Release 鎸塅7緙栫粠鐢熸垚zlib.lib <p>宸ョ▼涓嬌鐢ㄦ椂鎶?<p>D:\zlib-1.2.3\projects\visualc6\Win32_LIB_Release\zlib.lib <p>D:\zlib-1.2.3\zlib.h <p>D:\zlib-1.2.3\zconf.h <p>鎷瘋礉鍒版墍鍦ㄥ伐紼嬬洰褰曚笅 <p>鐒跺悗 <p>#include "zlib.h"<br>#pragma comment(lib,"zlib.lib") <p>void CZlibTestDlg::OnButton1() <br>{<br>const unsigned char strSrc[]="hello world!\n\<br>aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd涓枃嫻嬭瘯 涓枃嫻嬭瘯\<br>aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd涓枃嫻嬭瘯 涓枃嫻嬭瘯\<br>aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd涓枃嫻嬭瘯 涓枃嫻嬭瘯\<br>aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd涓枃嫻嬭瘯 涓枃嫻嬭瘯"; <p>     unsigned char buff[1024]={0},strDst[1024]={0};<br>     unsigned long srcLen=sizeof(strSrc),bufLen=sizeof(buff),dstLen=sizeof(strDst);<br>CString strc,strc2,strc3;<br>     strc.Format("Src string:%s\nLength:%d\n===================\n",strSrc,srcLen);<br>     //鍘嬬緝<br>      compress(buff,&bufLen,strSrc,srcLen);<br>      strc2.Format("\nAfter Compressed Length:%d\nCompressed String:%s\n==============\n",bufLen,buff);<br>     //瑙e帇緙?br>      uncompress(strDst,&dstLen,buff,bufLen);<br>      strc3.Format("\nAfter UnCompressed Length:%d\nUnCompressed String:%s\n",dstLen,strDst);<br>   AfxMessageBox(strc+strc2+strc3); <br>}</p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/95490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-09-07 21:46 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95490.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎬庝箞浣跨敤PCRE搴擄紵http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95492.html鑲ヤ粩鑲ヤ粩Mon, 07 Sep 2009 13:46:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95492.htmlhttp://m.shnenglu.com/woaidongmao/comments/95492.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95492.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/95492.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/95492.html涓鐩存壘PCRE鐨勫涔?fàn)璧勬枡锛尵|戜笂娌℃湁鍙戠幇寰堝叏闈㈢殑錛屽洖榪囧ご浜嗕粩緇嗙湅浜嗕竴涓婸CRE婧愮爜dochtml涓嬬殑璧勬枡錛屽彂鐜板叾瀹炶繖浜涙枃妗e氨鏄潪甯鎬笉閿欑殑瀛︿範(fàn)鏉愭枡銆?

浠婂ぉ鐪嬩簡涓涓嬪浣曚嬌鐢≒CRE錛岃繕娌℃湁娑夊強(qiáng)鍒癙CRE鍘熺悊鍜屽疄鐜扮殑浠g爜銆傛垜浠彲浠ュ湪http://www.pcre.org/涓婁笅杞藉埌pcre鐨勪唬鐮侊紝涓嬭澆鍒扮殑婧愭枃浠秔cre-x.x.tar.bz2鍦╨inux涓嬮潰寰堝鏄撳氨鍙互琚紪璇戝拰瀹夎(x86 緋誨垪cpu鍝?銆?

./configure

make

make install

PCRE緙栬瘧瀹夎涔嬪悗錛屼互涓涓猯ib搴撶殑鏂瑰紡鎻愪緵緇欑敤鎴風(fēng)▼搴忚繘琛屼嬌鐢紝PCRE lib 鎻愪緵浜嗕竴緇凙PI,閫氳繃榪欎竴緇凙PI鍙互瀹炵幇綾諱技浜嶱erl璇硶鐨勬鍒欒〃杈懼紡鏌ユ壘鍜屽尮閰嶇殑鍔熻兘銆傦紙PCREE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl, with just a few differences.錛?

瑕佹兂浣跨敤濂絇CRE錛岃浜嗚В寰堝姝e垯琛ㄨ揪寮忕殑鍐呭銆佸悓鏃墮渶瑕佸PCRE榪涜寰堝鐨勯厤緗紝浠庤屼嬌鍏舵敮鎸佷笉鍚岀殑妯″紡鍜岃鏍箋傚湪榪欓噷鍙槸綆鍗曠殑鎻忚堪涓涓嬩嬌鐢≒CRE鐨勬柟娉曪紝涓嶆秹鍙?qiáng)閰嵕|拰姝e垯琛ㄨ揪寮忚娉曠殑鍐呭銆?

浣跨敤PCRE涓昏鏄嬌鐢ㄤ笅闈㈢殑鍥涗釜鍑芥暟錛屽榪欏洓涓嚱鏁版湁浜嗕簡瑙o紝浣跨敤PCRE搴撶殑鏃跺欏氨浼?xì)绠鍗曞緢澶氥?

pcre_compile() /pcre_compile2()

pcre_study()

pcre_exec()

1. pcre_compile() /pcre_compile2()錛?姝e垯琛ㄨ揪寮忓湪浣跨敤涔嬪墠瑕佺粡榪囩紪璇戙?

pcre *pcre_compile(const char *pattern, int options, const char **errptr, int *erroffset, const unsigned char *tableptr);

pcre *pcre_compile2(const char *pattern, int options, int *errorcodeptr, const char **errptr, int *erroffset, const unsigned char *tableptr);

緙栬瘧鐨勭洰鐨勬槸灝嗘鍒欒〃杈懼紡鐨刾attern杞崲鎴怭CRE寮曟搸鑳藉璇嗗埆鐨勭粨鏋勶紙struct real_pcre錛夈?

榪樻病鏈夊緙栬瘧鐨勮繃紼嬭繘琛屽垎鏋?

2. pcre_study錛堬級(jí)錛?/strong>瀵圭紪璇戝悗鐨勬鍒欒〃杈懼紡緇撴瀯(struct real_pcre)榪涜鍒嗘瀽鍜屽涔?瀛︿範(fàn)鐨勭粨鏋滄槸涓涓暟鎹粨鏋?struct pcre_extra),榪欎釜鏁版嵁緇撴瀯榪炲悓緙栬瘧鍚庣殑瑙勫垯(struct real_pcre)鍙互涓璧烽佺粰pcre_exec鍗曞厓榪涜鍖歸厤.

If a compiled pattern is going to be used several times, it is worth spending more time analyzing it in order to speed up the time taken for matching. The function pcre_study() takes a pointer to a compiled pattern as its first argument. If studying the pattern produces additional information that will help speed up matching, pcre_study() returns a pointer to a pcre_extra block, in which the study_data field points to the results of the study.

pcre_study錛堬級(jí)鐨勫紩鍏ヤ富瑕佹槸涓轟簡鍔犻熸鍒欒〃杈懼紡鍖歸厤鐨勯熷害.(涓轟粈涔堝涔?fàn)鍚帪p兘鍔犻熷憿?)榪欎釜榪樻槸姣旇緝鏈夌敤鐨?鍙互灝嗘鍒欒〃杈懼紡緙栬瘧,瀛︿範(fàn)鍚庝繚瀛樺埌涓涓枃浠舵垨鍐呭瓨涓?榪欐牱榪涜鍖歸厤鐨勬椂鍊欐晥鐜囨瘮杈冩悶.snort涓氨鏄繖鏍峰仛鐨?

3. pcre_exec錛堬級(jí)錛?/strong>鏍規(guī)嵁姝e垯琛ㄨ揪寮忓埌鎸囧畾鐨勫瓧絎︿覆涓繘琛屾煡鎵懼拰鍖歸厤,騫惰緭鍑哄尮閰嶇殑緇撴灉.

The function pcre_exec() is called to match a subject string against a compiled pattern, which is passed in the code argument. If the pattern has been studied, the result of the study should be passed in the extra argument. This function is the main matching facility of the library, and it operates in a Perl-like manner.

4. Snort涓浣曚嬌鐢≒CRE鍛?snort涓互鎻掍歡鐨勫艦寮忚皟鐢≒CRE榪涜姝e垯琛ㄨ揪寮忕殑鍖歸厤銆?

1錛夎繘琛屾鍒欒〃杈懼紡鐨勫垵濮嬪寲銆?

InitializeDetection--> RegisterRules-->RegisterOneRule-->PCRESetup(Just for OPTION_TYPE_PCRE)->pcre_compile and pcre_study. All will be stored in a structure called PCREInfo in the memory.

2.) 瑙勫垯鐨勫尮閰嶃侱etectionCheckRule-->ruleMatch-->ruleMatchInternal-->pcreMatch(OPTION_TYPE_PCRE)->pcre_test-->pcre_exec.

5.緙栬瘧PCRE on TILERA platform.

1) tar -xjvf pcre-7.9.tar.bz2

2) Modify config.sub to support tile architecture.

We wish to use DE>HOST=tileDE>, but the DE>tileDE> architecture is not yet standard, so may not exist in the DE>config.subDE> file. If necessary, add these lines in the alphabetical list of architectures (typically about 1,100 lines down):

 tile*)
  basic_machine=tile-tilera
  os=-linux-gnu
  ;;
3) Compile PCRE on tile Linux. 
** Start up TILERA card through tile-monitor.
tile-monitor --pci --mount-tile /usr  \
  --mount-tile /bin --mount-tile /sbin --mount-tile /etc --mount-tile /lib \
  --mkdir /mnt/libs --mount /libs-compile /mnt/libs \
  --mkdir /mnt/mde  --mount $TILERA_ROOT /mnt/mde
* ./configure --build=tile  --prefix=/usr  lt_cv_sys_max_cmd_len=262144 --disable-cpp
//緙栬瘧鐨勬椂鍊欐病鏈変嬌鑳絚++鐨勬敮鎸併?/pre>
pcre-7.9 configuration summary:
   pcre-7.9 configuration summary:
    Install prefix .................. : /usr
    C preprocessor .................. : gcc -E
    C compiler ...................... : gcc
    C++ preprocessor ................ : g++ -E
    C++ compiler .................... : g++
    Linker .......................... : /usr/bin/ld
    C preprocessor flags ............ :
    C compiler flags ................ : -O2
    C++ compiler flags .............. : -O2
    Linker flags .................... :
    Extra libraries ................. :
    Build C++ library ............... : no
    Enable UTF-8 support ............ : no
    Unicode properties .............. : no
    Newline char/sequence ........... : lf
    \R matches only ANYCRLF ......... : no
    EBCDIC coding ................... : no
    Rebuild char tables ............. : no
    Use stack recursion ............. : yes
    POSIX mem threshold ............. : 10
    Internal link size .............. : 2
    Match limit ..................... : 10000000
    Match limit recursion ........... : MATCH_LIMIT
    Build shared libs ............... : yes
    Build static libs ............... : yes
    Link pcregrep with libz ......... : no
    Link pcregrep with libbz2 ....... : no
    Link pcretest with libreadline .. : no
* make
* make install

4) Compile the PCRE demo code and test PCRE lib on TILERA linux. PCRE 鐨勬簮鏂囦歡涓彁渚涗簡涓や釜demo紼嬪簭錛屼竴涓槸姣旇緝綆鍗曠殑pcredemo.c錛屽緢瀹規(guī)槗鐞嗚В錛涘彟澶栦竴涓槸pcretest.c錛岃繖涓瘮杈冨叏闈€佸畬鏁寸殑浠嬬粛浜唒cre搴撶殑浣跨敤銆傝繖涓や釜demo鏈韓灝辨槸闈炲父濂界殑瀛︿範(fàn)鏉愭枡銆?/pre>
# gcc -o pcredemo pcredemo.c -lpcre
#  ./pcredemo 'cat|dog' 'the cat sat on the mat'
Match succeeded at offset 4
0: cat
No named substrings
# ./pcredemo -g 'cat|dog' 'the dog sat on the cat'
Match succeeded at offset 4
0: dog
No named substrings
Match succeeded again at offset 19
0: cat
No named substrings
//鍙傝冭祫鏂?
PCRE婧愮爜鏂囨。:pcre-7.9/doc/html


鑲ヤ粩 2009-09-07 21:46 鍙戣〃璇勮
]]>vc涓媧lib緙栬瘧鍑虹幇闂http://m.shnenglu.com/woaidongmao/archive/2009/09/07/95489.html鑲ヤ粩鑲ヤ粩Mon, 07 Sep 2009 13:45:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95489.htmlhttp://m.shnenglu.com/woaidongmao/comments/95489.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95489.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/95489.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/95489.html鍘熸枃閾炬帴錛?a >http://www.itzhe.cn/news/20080717/178365.html
鎴戝垰鍒氫笅浜嗕竴涓獄lib鐨勬簮浠g爜錛屼笅杞藉湴鍧錛?a >http://www.zlib.net/zlib123.zip錛岀敤vc鎵撳紑鍏朵腑鐨刾rojects\visualc6涓嬬殑zlib.dsw宸ョ▼鏂囦歡鍚庯紝榪涜緙栬瘧錛屽氨鎶ュ嚭浜嗕互涓嬬殑閿欒錛?
--------------------Configuration: zlib - Win32 LIB ASM Debug--------------------
Assembling...
'ml.exe' 涓嶆槸鍐呴儴鎴栧閮ㄥ懡浠わ紝涔熶笉鏄彲榪愯鐨勭▼搴?
鎴栨壒澶勭悊鏂囦歡銆?
Error executing c:\windows\system32\cmd.exe.
zlibd.lib - 1 error(s), 0 warning(s)
鎴戞壘浜嗕竴涓嬩篃娌″彂鐜版湁鈥渕l.exe鈥濊繖鏍風(fēng)殑鏂囦歡鍟?涓嶆檽寰楁槸鍝釜鍦版柟鍑虹殑闂鍟婏紒婧愪唬鐮佹槸緇濆娌℃湁鍔ㄨ繃鐨勩傚笇鏈涙湁瀵箊lib鏈夌爺絀剁殑甯府蹇欏晩錛佸厛璋㈣繃鍟︼紒
緗戝弸鍥炲:ml.exe 鏄井杞眹緙栫紪璇戝櫒, MASM6 鎴栬呬互鍚庣増鏈?騫跺湪PATH 涓緗墽琛岃礬寰勫嵆鍙? DDK 涔熸槸鍙互鐨?br>緗戝弸鍥炲:make line???
緗戝弸鍥炲:鎴戝凡緇忓皢MASM6.11瀹夎浜嗕篃璁劇疆浜嗙幆澧冨彉閲忥紝鍦ㄥ懡浠よ鏂瑰紡涓嬩篃鑳芥甯哥殑榪愯ml.exe浜嗭紝浣嗘槸涓轟粈涔堝湪vc涓嬭繕鏄細(xì)鎶ラ偅涓敊璇晩錛燂紵錛燂紵錛燂紵錛熸垜鐪熺殑蹇宕╂簝鍟︼紒甯屾湜鑳藉憡璇夋垜涓嬪埌搴曟垜鍝紡鎺変簡鍟婏紒
緗戝弸鍥炲:閭d綘寮哄埗鎸囧畾璺緞璇曚竴涓嬨傛垨鑰呮妸ml鐩稿叧鐨勫嚑涓枃浠舵斁鍒皏c6鐨刡in鐩綍涓嬨?br>緗戝弸鍥炲:寮曠敤 4 妤?unsigned 鐨勫洖澶?
閭d綘寮哄埗鎸囧畾璺緞璇曚竴涓嬨傛垨鑰呮妸ml鐩稿叧鐨勫嚑涓枃浠舵斁鍒皏c6鐨刡in鐩綍涓嬨?
OK!鎸夌収浣犵殑鏂瑰紡鏇存敼鍚庡凡緇忎笉浼?xì)鎶l.exe鐨勯敊璇簡錛佷笉榪囩幇鍦ㄥ張鍑轟簡鏂扮殑闂錛侊紒錛侊紒
褰撶敤ml鏉ョ紪璇慽nffas32.asm鏂囦歡鏃訛紝浼?xì)鎶?9涓敊璇紒錛侊紒錛佸湪鍛戒護(hù)琛屾柟寮忎笅鍗曠嫭緙栬瘧涔熶細(xì)鎶ヨ繖39涓敊璇紒錛侊紒
鍏蜂綋鐨勯敊璇俊鎭涓嬶細(xì)
--------------------Configuration: zlib - Win32 LIB ASM Debug--------------------
Assembling...
Assembling: ..\..\contrib\masmx86\inffas32.asm
..\..\contrib\masmx86\inffas32.asm(65): error A2008: syntax error : .
..\..\contrib\masmx86\inffas32.asm(638): error A2008: syntax error : emms
..\..\contrib\masmx86\inffas32.asm(644): error A2008: syntax error : mm0
..\..\contrib\masmx86\inffas32.asm(647): error A2008: syntax error : mm4
..\..\contrib\masmx86\inffas32.asm(648): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(649): error A2008: syntax error : mm5
..\..\contrib\masmx86\inffas32.asm(650): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(651): error A2008: syntax error : pxor
..\..\contrib\masmx86\inffas32.asm(657): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(662): error A2008: syntax error : mm6
..\..\contrib\masmx86\inffas32.asm(663): error A2008: syntax error : mm7
..\..\contrib\masmx86\inffas32.asm(665): error A2008: syntax error : psllq
..\..\contrib\masmx86\inffas32.asm(667): error A2008: syntax error : por
..\..\contrib\masmx86\inffas32.asm(670): error A2008: syntax error : pand
..\..\contrib\masmx86\inffas32.asm(671): error A2008: syntax error : eax
..\..\contrib\masmx86\inffas32.asm(672): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(677): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(706): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(707): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(708): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(714): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(719): error A2008: syntax error : mm6
..\..\contrib\masmx86\inffas32.asm(720): error A2008: syntax error : mm7
..\..\contrib\masmx86\inffas32.asm(722): error A2008: syntax error : psllq
..\..\contrib\masmx86\inffas32.asm(724): error A2008: syntax error : por
..\..\contrib\masmx86\inffas32.asm(728): error A2008: syntax error : pand
..\..\contrib\masmx86\inffas32.asm(729): error A2008: syntax error : eax
..\..\contrib\masmx86\inffas32.asm(730): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(739): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(747): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(748): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(749): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(808): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(809): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(821): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(822): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(1021): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(1022): error A2008: syntax error : ebp
..\..\contrib\masmx86\inffas32.asm(1024): error A2008: syntax error : emms
Error executing c:\windows\system32\cmd.exe.
example.exe - 39 error(s), 0 warning(s)
甯屾湜鏇劇粡緙栬瘧榪噝lib鐨勮揪浜虹粰浜堝府鍔╋紒
鏄笉鏄垜鐨凪ASM6 鐗堟湰澶珮浜嗭紝鎵浠ュ姹囩紪鐨勪唬鐮佷笉鏀寔鍟婏紵錛燂紵錛熺湡鐨勫穿婧冧簡鍟婏紒錛侊紒錛侊紒錛?br>緗戝弸鍥炲:鏄綘鐨刴l鐗堟湰澶綆銆傝繖涓婇潰鍑洪敊鐨勯兘鏄竴浜涙柊鎸囦護(hù)銆?br>緗戝弸鍥炲:寮曠敤 6 妤?unsigned 鐨勫洖澶?
鏄綘鐨刴l鐗堟湰澶綆銆傝繖涓婇潰鍑洪敊鐨勯兘鏄竴浜涙柊鎸囦護(hù)銆?
鐜板湪闂瑙e喅鍟︼紒鍘熸潵鏄湪緙栬瘧搴撶殑鏃跺欏簲璇ラ墂in32 lib debug鑰屼笉鏄畠榛樿鐨剋in32 lib asm debug錛岃櫧鐒舵湁姹囩紪鐨勪唬鐮侊紝浣嗘槸浼間箮榪欐牱閫変簡浠ュ悗灝變笉浼?xì)缂栬瘧姹嚲~栦唬鐮佷簡鍝︼紒鍛靛懙錛佹劅璋㈣繖涔堝浣嶇殑甯姪鍝堬紒闂瑙e喅錛丏one錛?/p>

鑲ヤ粩 2009-09-07 21:45 鍙戣〃璇勮
]]>
Zlib涓嶨Ziphttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95486.html鑲ヤ粩鑲ヤ粩Mon, 07 Sep 2009 13:27:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95486.htmlhttp://m.shnenglu.com/woaidongmao/comments/95486.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95486.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/95486.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/95486.htmlzlib鏄竴涓氱敤鐨勫帇緙╁紑婧愬簱錛屾彁渚涗簡鍦ㄥ唴瀛樹腑鍘嬬緝鍜岃В鍘嬬殑鍑芥暟錛屽寘鎷瑙e帇鍚庢暟鎹殑鏍¢獙銆傜洰鍓嶇増鏈殑zlib鍙敮鎸?span lang="EN-US">deflate鏂規(guī)硶錛屼絾鏄叾瀹冪殑鏂規(guī)硶灝嗕細(xì)琚坊鍔犺繘鏉ュ茍涓旀嫢鏈夊悓鏍風(fēng)殑鎺ュ彛銆?span lang="EN-US">

鈥斺?zlib manaul

    deflate綆楁硶鍦?span lang="EN-US">rfc1951涓湁璇︾粏鐨勮鏄庛?span lang="EN-US">

    zlib鍚屾椂鍙堟槸涓縐嶆暟鎹牸寮忥紝浣跨敤zlib搴撳帇緙╁悗鐨勬暟鎹細(xì)鍦?span lang="EN-US">deflate鏁版嵁鐨勫ご鍜屽熬娣誨姞淇℃伅錛屽艦鎴?span lang="EN-US">zlib鏍煎紡鐨勬暟鎹?span lang="EN-US">

 

   gzip涔熸槸涓縐嶆暟鎹帇緙╂牸寮忥紝鍙互澶т綋鍒嗕負(fù)澶撮儴錛屾暟鎹儴鍜屽熬閮ㄤ笁涓儴鍒嗭紝鍏朵腑澶撮儴鍜屽熬閮ㄤ富瑕佹槸涓浜涙枃妗e睘鎬у拰鏍¢獙淇℃伅錛?span lang="EN-US">rfc1952錛夛紝鏁版嵁閮ㄤ富瑕佹槸鐢?span lang="EN-US">deflate鏂規(guī)硶鍘嬬緝寰楀埌鐨勬暟鎹?span lang="EN-US">
   
    zlib搴撻粯璁ょ殑鍘嬬緝鏂規(guī)硶騫朵笉鏄?span lang="EN-US">gzip鐨勶紝鑰屾槸zlib鐨勶紝鍥犳浣跨敤zlib鍘嬬緝寰楀埌gzip鏍煎紡鐨勬暟鎹湁涓ょ鏂規(guī)硶錛?span lang="EN-US">

1. 浣跨敤zlib鎻愪緵鐨?span lang="EN-US">gz***緋誨垪鍑芥暟鍙互鐩存帴鎶婃兂瑕佺殑鍐呭鍐欏叆涓涓鐩?span lang="EN-US">gzip鏂囦歡錛?

2. 濡傛灉鎯沖湪鍐呭瓨涓敓鎴?span lang="EN-US">gzip鏍煎紡鐨勬暟鎹紝鍙互鍦ㄥ垵濮嬪寲鐨勬椂鍊欒皟鐢?span lang="EN-US">inflateInit2鍑芥暟錛屽茍鎸囧畾涓?span lang="EN-US">gzip鏍煎紡錛屼唬鐮佸涓嬶細(xì)

   

  z_stream d_stream;
  d_stream
.zalloc = NULL;
  d_stream
.zfree = NULL;
  d_stream
.opaque = NULL;
 
int ret = deflateInit2(&d_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, DEFAULT_WINDOWSIZE, DEFAULT_MEMLEVEL,  Z_DEFAULT_STRATEGY);

 
if (Z_OK != ret)
  {
    printf
("init deflate error\n");
    return
ret;
  }

    涔嬪悗錛岀敤deflate鍘嬬緝鍑烘潵鐨勬暟鎹氨鏄?span lang="EN-US">gzip鐨勪簡銆?/span>

 



鑲ヤ粩 2009-09-07 21:27 鍙戣〃璇勮
]]>
Zlib涓嶨Ziphttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95485.html鑲ヤ粩鑲ヤ粩Mon, 07 Sep 2009 13:25:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95485.htmlhttp://m.shnenglu.com/woaidongmao/comments/95485.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/09/07/95485.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/95485.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/95485.htmlzlib

銆銆zlib鏄彁渚涜祫鏂欏帇緙╀箣鐢ㄧ殑鍑藉紡搴擄紝鐢?span lang="EN-US">Jean-loup Gailly涓?span lang="EN-US">Mark Adler鎵寮鍙戯紝鍒濈増0.9鐗堝湪1995騫?span lang="EN-US">5鏈?span lang="EN-US">1鏃?/st1:chsdate>鍙戣〃銆?span lang="EN-US">zlib浣跨敤DEFLATE綆楁硶錛屾渶鍒濇槸涓?span lang="EN-US">libpng鍑藉紡搴撴墍鍐欑殑錛屽悗鏉ユ櫘閬嶄負(fù)璁稿杞歡鎵浣跨敤銆傛鍑藉紡搴撲負(fù)鑷敱杞歡錛屼嬌鐢?span lang="EN-US">zlib鎺堟潈銆?span lang="EN-US">

銆銆zlib鏄敤浜庤祫鏂欏帇緙╃殑鍑藉紡搴擄紝鐢?span lang="EN-US">Jean-loup Gailly涓?span lang="EN-US">Mark Adler鎵寮鍙戯紝鏄嬌鐢ㄦ娊璞″寲鐨?span lang="EN-US">DEFLATE鍘嬬緝綆楁硶gzip鏂囦歡鍘嬬緝紼嬪簭銆傚垵鐗?span lang="EN-US">0.9鐗堝湪1995騫?span lang="EN-US">5鏈?span lang="EN-US">1鏃?/st1:chsdate>鍙戣〃錛屾渶鍒濇槸涓?span lang="EN-US">libpng鍑藉紡搴撴墍鍐欑殑錛屽悗鏉ユ櫘閬嶄負(fù)璁稿杞歡鎵浣跨敤銆傛鍑藉紡搴撲負(fù)鑷敱杞歡錛屼嬌鐢?span lang="EN-US">zlib鎺堟潈銆?span lang="EN-US">

銆銆鎴嚦2007騫?span lang="EN-US">3鏈堬紝zlib鏄寘鍚湪Coverity鐨勭編鍥藉浗鍦熷畨鍏ㄩ儴璧炲姪鑰呴夋嫨緇х畫瀹℃煡鐨勫紑婧愰」鐩?

[緙栬緫鏈]

鍔熻兘

銆銆* 鏁版嵁澶?span lang="EN-US">(header) - zlib鑳戒嬌鐢ㄤ竴涓?span lang="EN-US">gzip鏁版嵁澶達(dá)紝zlib鏁版嵁澶存垨鑰呬笉浣跨敤鏁版嵁澶村帇緙╂暟鎹?span lang="EN-US">

銆銆閫氬父鎯呭喌涓嬶紝鏁版嵁鍘嬬緝浣跨敤zlib鏁版嵁澶達(dá)紝鍥犱負(fù)榪欐彁渚涢敊璇暟鎹嫻嬨傚綋鏁版嵁涓嶄嬌鐢ㄦ暟鎹ご鍐欏叆鏃訛紝緇撴灉鏄病鏈変換浣曢敊璇嫻嬬殑鍘熷DEFLATE鏁版嵁錛岄偅涔堣В鍘嬬緝杞歡鐨勮皟鐢ㄨ呯煡閬撳帇緙╂暟鎹湪浠涔堝湴鏂圭粨鏉熴?span lang="EN-US">

銆銆gzip鏁版嵁澶存瘮zlib鏁版嵁澶磋澶э紝鍥犱負(fù)瀹冧繚瀛樹簡鏂囦歡鍚嶅拰鍏朵粬鏂囦歡緋葷粺淇℃伅錛屼簨瀹炰笂榪欐槸騫挎硾浣跨敤鐨?span lang="EN-US">gzip鏂囦歡鐨勬暟鎹ご鏍煎紡銆?span style="color: red">娉ㄦ剰zlib鍑藉紡搴撴湰韜笉鑳藉垱寤轟竴涓?span lang="EN-US">gzip鏂囦歡錛屼絾鏄畠鐩稿綋杞繪澗鐨勯氳繃鎶婂帇緙╂暟鎹啓鍏ュ埌涓涓湁gzip鏂囦歡澶寸殑鏂囦歡涓?span lang="EN-US">

銆銆* 綆楁硶 - 鐩墠zlib浠呮敮鎸佷竴涓?span lang="EN-US">LZ77鐨勫彉縐嶇畻娉曪紝DEFLATE鐨勭畻娉曘?span lang="EN-US">

銆銆榪欎釜綆楁硶浣跨敤寰堝皯鐨勭郴緇熻祫婧愶紝瀵瑰悇縐嶆暟鎹彁渚涘緢濂界殑鍘嬬緝鏁堟灉銆傝繖涔熸槸鍦?span lang="EN-US">ZIP妗f涓棤涓渚嬪鐨勪嬌鐢ㄨ繖涓畻娉曘傦紙灝界zip鏂囦歡鏍煎紡涔熸敮鎸佸嚑縐嶅叾浠栫殑綆楁硶錛夈?span lang="EN-US">

銆銆鐪嬭搗鏉?span lang="EN-US">zlib鏍煎紡灝嗕笉浼?xì)琚墿灞曚娇鐢ㄤ恢M綍鍏朵粬綆楁硶錛屽敖綆℃暟鎹ご鍙互鏈夎繖縐嶅彲鑳芥с?span lang="EN-US">

銆銆* 浣跨敤璧勬簮 - 鍑藉紡搴撴彁渚涗簡瀵瑰鐞嗗櫒鍜屽唴瀛樹嬌鐢ㄦ帶鍒剁殑鑳藉姏

銆銆涓嶅悓鐨勫帇緙╃駭鍒暟鍊煎彲浠ユ寚紺轟笉鍚岀殑鍘嬬緝鎵ц閫熷害銆?span lang="EN-US">

銆銆榪樻湁鍐呭瓨鎺у埗綆$悊鐨勫姛鑳姐傝繖鍦ㄤ竴浜涜濡傚祵鍏ュ紡緋葷粺榪欐牱鍐呭瓨鏈夐檺鍒剁殑鐜涓槸鏈夌敤鐨勩?span lang="EN-US">

銆銆* 絳栫暐 - 鍘嬬緝鍙互閽堝鐗瑰畾綾誨瀷鐨勬暟鎹繘琛屼紭鍖?span lang="EN-US">

銆銆濡傛灉浣犳繪槸浣跨敤zlib搴撳帇緙╁帇緙╃壒瀹氱被鍨嬬殑鏁版嵁錛岄偅涔堝彲浠ヤ嬌鐢ㄦ湁閽堝鎬х殑絳栫暐鍙互鎻愰珮鍘嬬緝鏁堢巼鍜屾ц兘銆備緥濡傦紝濡傛灉浣犵殑鏁版嵁鍖呭惈寰堥暱鐨勯噸澶嶆暟鎹紝閭d箞鍙互鐢?span lang="EN-US">RLE錛堣繍琛岄暱搴︾紪鐮侊級(jí)絳栫暐錛屽彲鑳戒細(xì)鏈夋洿濂界殑緇撴灉銆?span lang="EN-US">

銆銆瀵逛簬涓鑸殑鏁版嵁錛岄粯璁ょ殑絳栫暐鏄閫夈?span lang="EN-US">

銆銆* 閿欒澶勭悊 - 閿欒鍙互琚彂鐜板拰璺寵繃

銆銆鏁版嵁娣蜂貢鍙互琚嫻嬶紙鍙鏁版嵁鍜?span lang="EN-US">zlib鎴栬?span lang="EN-US">gzip鏁版嵁澶翠竴璧瘋鍐欏叆錛嶅弬瑙佷笂闈級(jí)

銆銆姝ゅ錛屽鏋滃叏鍒鋒柊鐐癸紙full-flush points錛夎鍐欏叆鍒板帇緙╁悗鐨勬暟鎹祦涓紝閭d箞閿欒鏁版嵁鏄彲浠ヨ璺寵繃鐨勶紝騫朵笖瑙e帇緙╁皢閲嶆柊鍚屾鍒頒笅涓叏鍒鋒柊鐐廣傦紙閿欒鏁版嵁鐨勬棤閿欐仮澶嶈鎻愪緵錛夈傚叏鍒鋒柊鐐規(guī)妧鏈浜庡湪涓嶅彲闈犵殑閫氶亾涓婄殑澶ф暟鎹祦鏄緢鏈夌敤鐨勶紝涓浜涜繃鍘葷殑鏁版嵁涓㈠け鏄笉閲嶈鐨勶紙渚嬪澶氬獟浣撴暟鎹級(jí)錛屼絾鏄緩绔嬪お澶氱殑鍏ㄥ埛鏂扮偣浼?xì)鏋佸ぇ鐨勫奖鍝嶉熷害鍜屽帇緙┿?span lang="EN-US">

銆銆* 鏁版嵁闀垮害 - 瀵逛簬鍘嬬緝鍜岃В鍘嬬緝錛屾病鏈夋暟鎹暱搴︾殑闄愬埗

銆銆閲嶅璋冪敤搴撳嚱鏁板厑璁稿鐞嗘棤闄愮殑鏁版嵁鍧椼備竴浜涜緟鍔╀唬鐮侊紙璁℃暟鍙橀噺錛夊彲鑳戒細(xì)婧㈠嚭錛屼絾鏄笉褰卞搷瀹為檯鐨勫帇緙╁拰瑙e帇緙┿?span lang="EN-US">

銆銆褰撳帇緙╀竴涓暱錛堟棤闄愶級(jí)鏁版嵁嫻佹椂錛屾渶濂藉啓鍏ュ叏鍒鋒柊鐐廣?

[緙栬緫鏈]

浣跨敤zlib鐨勮蔣浠?span lang="EN-US">

銆銆浠婂ぉ錛?span lang="EN-US">zlib鏄竴縐嶄簨瀹炰笂鐨勪笟鐣屾爣鍑嗭紝浠ヨ嚦浜庡湪鏍囧噯鏂囨。涓紝zlib鍜?span lang="EN-US">DEFLATE甯稿父浜掓崲浣跨敤銆傛暟浠ュ崈璁$殑搴旂敤紼嬪簭鐩存帴鎴栭棿鎺ヤ緷闈?span lang="EN-US">zlib鍘嬬緝鍑藉紡搴?/span>錛?span lang="EN-US">[2]錛屽寘鎷細(xì)

銆銆* Linux鏍稿績錛氫嬌鐢?span lang="EN-US">zlib浠ュ疄浣滅綉緇滃崗瀹氱殑鍘嬬緝銆佹。妗堢郴緇熺殑鍘嬬緝浠ュ強(qiáng)寮鏈烘椂瑙e帇緙╄嚜韜殑鏍稿績銆?span lang="EN-US">

銆銆* libpng錛岀敤浜?span lang="EN-US">PNG鍥懼艦鏍煎紡鐨勪竴涓疄鐜幫紝瀵?span lang="EN-US">bitmap鏁版嵁瑙勫畾浜?span lang="EN-US">DEFLATE浣滀負(fù)嫻佸帇緙╂柟娉曘?span lang="EN-US">

銆銆* Apache錛氫嬌鐢?span lang="EN-US">zlib瀹炰綔http 1.1銆?span lang="EN-US">

銆銆* OpenSSH銆?span lang="EN-US">OpenSSL錛氫互zlib杈懼埌鏈浣?jīng)_寲鍔犲瘑緗戠粶浼犺緭銆?span lang="EN-US">

銆銆* FFmpeg錛氫互zlib璇誨啓Matroska絳変互DEFLATE綆楁硶鍘嬬緝鐨勫濯掍綋涓叉祦鏍煎紡銆?span lang="EN-US">

銆銆* rsync錛氫互zlib鏈浣?jīng)_寲榪滅鍚屾鏃剁殑浼犺緭銆?span lang="EN-US">

銆銆* The dpkg and RPM package managers, which use zlib to unpack files from compressed software packages.

銆銆* Subversion 銆?span lang="EN-US">Git鍜?span lang="EN-US"> CVS 鐗堟湰鎺у埗緋葷粺錛屼嬌鐢?span lang="EN-US">zlib鏉ュ帇緙╁拰榪滅浠撳簱鐨勯氳嫻侀噺銆?span lang="EN-US">

銆銆* dpkg鍜?span lang="EN-US">RPM絳夊寘綆$悊杞歡錛氫互zlib瑙e帇緙?span lang="EN-US">RPM鎴栬呭叾浠栧皝鍖呫?span lang="EN-US">

銆銆鍥犱負(fù)鍏朵唬鐮佺殑鍙Щ妞嶆э紝瀹芥澗鐨勮鍙互鍙?qiáng)杈優(yōu)畯鐨勫唴瀛樺崰鐢ㄥQ?span lang="EN-US">zlib鍦ㄨ澶氬祵鍏ュ紡璁懼涓篃鏈夊簲鐢ㄣ?span lang="EN-US">

zlib鍜実zip鏄竴鍥炰簨錛実zip涓嶈繃澶栭潰澶氫簡涓涓枃浠舵牸寮忥紝浣滆呴兘鏄悓涓涓漢銆?
鎹7zip姣攝lib鏈夋洿楂樼殑鍘嬬緝姣斿拰瑙e帇閫熷害,浣嗘病鏈夌敤榪囥?/font>



鑲ヤ粩 2009-09-07 21:25 鍙戣〃璇勮
]]>
Intel TBB:Pipeline,杞歡嫻佹按綰跨殑濞佸姏http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81670.html鑲ヤ粩鑲ヤ粩Fri, 01 May 2009 17:53:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81670.htmlhttp://m.shnenglu.com/woaidongmao/comments/81670.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81670.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/81670.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/81670.html闃呰鍏ㄦ枃

鑲ヤ粩 2009-05-02 01:53 鍙戣〃璇勮
]]>
Intel TBB::Pipeline錛屾寜搴忓鐞嗘暟鎹?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81671.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Fri, 01 May 2009 17:53:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81671.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/81671.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81671.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/81671.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/81671.html</trackback:ping><description><![CDATA[     鎽樿: 鍦ㄤ笂涓綃囨枃绔?TBB:pipeline,杞歡嫻佹按綰跨殑濞佸姏)鏈鍚庢彁鍑轟簡鍑犱釜闂錛屾垜浠愪釜鏉ョ湅鐪婽BB::Pipeline鏄庝箞瑙e喅鐨勩?    涓轟粈涔圥ipeline鍙互淇濊瘉鏁版嵁鎵ц鐨勯『搴?鏃㈢劧TBB褰掓牴鍒板簳鏄氳繃澶氱嚎紼嬫墽琛屼換鍔★紝涓轟粈涔堜笉浼?xì)鍦ㄨd叆鍏堝悗涓や釜瀛楃涓插悗錛屽悗璇誨叆鐨勫瓧絎︿覆鍏堣涓嬩竴涓猼ask澶勭悊?Pipeline閲屾槸涓嶆槸鏈変竴涓被浼間簬FIFO 鍏堣繘鍏堝嚭闃熷垪涔嬬被鐨勪笢瑗匡紵 &nbs...  <a href='http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81671.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/woaidongmao/aggbug/81671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-05-02 01:53 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81671.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[璇慮Google C++ Mocking Framework Cheat Sheethttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81669.html鑲ヤ粩鑲ヤ粩Fri, 01 May 2009 17:52:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81669.htmlhttp://m.shnenglu.com/woaidongmao/comments/81669.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81669.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/81669.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/81669.html闃呰鍏ㄦ枃

鑲ヤ粩 2009-05-02 01:52 鍙戣〃璇勮
]]>
Google C++ Mocking Framework浣跨敤綆浠?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81668.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Fri, 01 May 2009 17:50:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81668.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/81668.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81668.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/81668.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/81668.html</trackback:ping><description><![CDATA[     鎽樿: 涓嬭澆Google C++ Mocking Framework錛岃В鍘?..鍙戠幇瀹冭嚜甯︿簡Google Test鐨勫叏閮ㄦ簮浠g爜錛屼篃灝辨槸璇存湁浜嗚繖涓偅涓狦oogle Test灝變笉鐢ㄥ幓涓嬭澆浜嗘敞鎰忥紝Google Mock鐨勭紪璇戝緙栬瘧鍣ㄧ殑C++鏀寔瑕佹眰寰堥珮錛屽茍涓旈渶瑕佹湁tr1鐨勬敮鎸併?  Linux/Unix涓嬬殑GCC緙栬瘧: 娉ㄦ剰錛欸oogle Mock鐨凴eadme閲岃瀹冭姹?.0鐗堜互涓?涓嶈繃鐗?..  <a href='http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81668.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/woaidongmao/aggbug/81668.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-05-02 01:50 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81668.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Google Test 妗嗘灦楂樼駭浣跨敤鎸囧崡http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81667.html鑲ヤ粩鑲ヤ粩Fri, 01 May 2009 17:45:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81667.htmlhttp://m.shnenglu.com/woaidongmao/comments/81667.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81667.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/81667.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/81667.html闃呰鍏ㄦ枃

鑲ヤ粩 2009-05-02 01:45 鍙戣〃璇勮
]]>
浣跨敤Google C++ Testing Framework榪涜鍗曞厓嫻嬭瘯http://m.shnenglu.com/woaidongmao/archive/2009/05/02/81666.html鑲ヤ粩鑲ヤ粩Fri, 01 May 2009 17:44:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81666.htmlhttp://m.shnenglu.com/woaidongmao/comments/81666.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/05/02/81666.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/81666.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/81666.html闃呰鍏ㄦ枃

鑲ヤ粩 2009-05-02 01:44 鍙戣〃璇勮
]]>
鏂囦歡杞藉叆http://m.shnenglu.com/woaidongmao/archive/2008/06/25/54539.html鑲ヤ粩鑲ヤ粩Wed, 25 Jun 2008 03:16:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/06/25/54539.htmlhttp://m.shnenglu.com/woaidongmao/comments/54539.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/06/25/54539.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/54539.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/54539.htmlBOOL            LoadFile(const char* file_name, vector<char>& vec_file);

 

BOOL Glob_Fun::LoadFile(const char* file_name, vector<char>& vec_file)
{
    vec_file.clear();
    if ((NULL == file_name))
        return FALSE;
    CFile file;
    char szBuf[1024 * 10] = "", *pTmp = NULL;
    int nRead = 0;
    int file_len = 0;

    if(FALSE == file.Open(file_name,CFile::modeRead))
        return FALSE;

    if(0 >= (file_len=file.GetLength()))
    {
        file.Close();
        return TRUE;
    }
    vec_file.resize(file_len);
    pTmp = &vec_file[0];
    do
    {
        nRead = file.Read(szBuf, sizeof(szBuf));
        memcpy(pTmp, szBuf, nRead);
        pTmp += nRead;
    }while (nRead > 0);
    file.Close();
    return TRUE;
}



鑲ヤ粩 2008-06-25 11:16 鍙戣〃璇勮
]]>
鍐呭瓨鎼滅儲(chǔ)涓庤В鏋?/title><link>http://m.shnenglu.com/woaidongmao/archive/2008/06/23/54382.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Mon, 23 Jun 2008 07:43:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2008/06/23/54382.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/54382.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2008/06/23/54382.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/54382.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/54382.html</trackback:ping><description><![CDATA[<p>char*            MemFind(const void* src_buf, int src_len, const void* find_buf, int find_len);<br>BOOL            ParserMem(const void* src_buf, int src_len, const vector< vector<char> >& vec_par, vector< vector<char> >& vec_result);//---- 澶氶噸浜岃繘鍒跺垎鍓?br>BOOL            ParserMem(const void* src_buf, int src_len, const vector<char>& vec_par, vector< vector<char> >& vec_result);//---- 鍗曞眰浜岃繘鍒跺垎鍓?br>BOOL            ParserMem(const void* src_buf, int src_len, const char* par_buf, vector< vector<char> >& vec_result);//---- 瀛楃鍒嗗壊<br>BOOL            ParserMem(const void* src_buf, int src_len, const char* par_buf, vector<string>& vec_result);//---- 瀛楃鍒嗗壊 <p>  <p>char* Glob_Fun::MemFind(const void* src_buf, int src_len, const void* find_buf, int find_len)<br>{<br>    if ((NULL == src_buf) || (NULL == find_buf)<br>        || (src_len <= 0) || (find_len <= 0)) <br>        return NULL; <p>    char*cp = (char*)src_buf;<br>    char*src_end = (char*)src_buf +  src_len;<br>    char*find_end = (char*)find_buf + find_len;<br>    char*s_src = NULL, *s_find = NULL;<br>    while (cp < src_end)<br>    {<br>        s_src = cp;<br>        s_find = (char*)find_buf;<br>        while (s_src < src_end && s_find < find_end && *s_src == *s_find)<br>            ++s_src, ++s_find;<br>        if (s_find == find_end)<br>            return(cp);<br>        ++cp;<br>    }<br>    return(NULL);<br>} <p>BOOL Glob_Fun::ParserMem(<br>                         const void*                    src_buf, <br>                         int                            src_len, <br>                         const vector< vector<char> >&    vec_par, <br>                         vector< vector<char> >&        vec_result)<br>{<br>    if ((NULL == src_buf) || (src_len <= 0) || vec_par.size() <= 0) <br>        return FALSE;<br>    for (size_t t = 0; t < vec_par.size(); ++t)<br>    {<br>        if(0 >= vec_par[t].size())<br>            return FALSE;<br>    } <p>    vec_result.clear(); <p>    vector<char> vec_tmp;<br>    BOOL bMatched = FALSE;<br>    int nParCount = vec_par.size();<br>    int nParTick = 0;<br>    char*cp = (char*)src_buf;<br>    char*src_end = (char*)src_buf +  src_len;<br>    int  nParLen = (int)vec_par[0].size();<br>    char*find_buf = (char*)&(vec_par[0][0]);<br>    char*find_end = find_buf + nParLen;<br>    char*s_src = NULL, *s_find = NULL; <p>    while (cp < src_end)<br>    {<br>        s_src = cp;<br>        s_find = (char*)find_buf;<br>        while (s_src < src_end && s_find < find_end && *s_src == *s_find)<br>            ++s_src,++s_find;<br>        if (s_find == find_end)<br>        {    <br>            bMatched = TRUE;<br>            cp += nParLen;<br>            vec_result.push_back(vec_tmp);<br>            vec_tmp.clear();<br>            ++nParTick;<br>            if(nParCount == nParTick)<br>                nParTick = 0;<br>            nParLen = (int)(vec_par[nParTick].size());<br>            find_buf = (char*)&(vec_par[nParTick][0]);<br>            find_end = find_buf + nParLen;             <br>        }<br>        else<br>        {<br>            vec_tmp.push_back(*cp);<br>            ++cp;<br>        }<br>    }<br>    if(TRUE == bMatched)<br>        vec_result.push_back(vec_tmp);<br>    return(bMatched);<br>} <p>BOOL Glob_Fun::ParserMem(<br>                         const void*                    src_buf, <br>                         int                            src_len, <br>                         const vector<char>&            vec_par, <br>                         vector< vector<char> >&        vec_result)<br>{<br>    if ((NULL == src_buf) || (src_len <= 0) || vec_par.size() <= 0) <br>        return FALSE;<br>    vec_result.clear(); <p>    vector<char> vec_tmp;<br>    BOOL bMatched = FALSE;<br>    char*cp = (char*)src_buf;<br>    char*src_end = (char*)src_buf +  src_len;<br>    int  nParLen = (int)vec_par.size();<br>    char*find_buf = (char*)&(vec_par[0]);<br>    char*find_end = find_buf + nParLen;<br>    char*s_src = NULL, *s_find = NULL; <p>    while (cp < src_end)<br>    {<br>        s_src = cp;<br>        s_find = (char*)find_buf;<br>        while (s_src < src_end && s_find < find_end && *s_src == *s_find)<br>            ++s_src, ++s_find;<br>        if (s_find == find_end)<br>        {    <br>            bMatched = TRUE;<br>            cp += nParLen;<br>            vec_result.push_back(vec_tmp);<br>            vec_tmp.clear();         <br>        }<br>        else<br>        {<br>            vec_tmp.push_back(*cp);<br>            ++cp;<br>        }<br>    }<br>    if(TRUE == bMatched)<br>        vec_result.push_back(vec_tmp);<br>    return(bMatched);<br>} <p>BOOL Glob_Fun::ParserMem(<br>                         const void*                    src_buf, <br>                         int                            src_len, <br>                         const char*                    par_buf, <br>                         vector< vector<char> >&        vec_result)<br>{<br>    if ((NULL == src_buf) || (src_len <= 0) || strlen(par_buf) <= 0) <br>        return FALSE;<br>    vec_result.clear(); <p>    vector<char> vec_tmp;<br>    BOOL bMatched = FALSE;<br>    char*cp = (char*)src_buf;<br>    char*src_end = (char*)src_buf +  src_len;<br>    int  nParLen = strlen(par_buf);<br>    char*find_buf = (char*)par_buf;<br>    char*find_end = find_buf + nParLen;<br>    char*s_src = NULL, *s_find = NULL; <p>    while (cp < src_end)<br>    {<br>        s_src = cp;<br>        s_find = (char*)find_buf;<br>        while (s_src < src_end && s_find < find_end && *s_src == *s_find)<br>            ++s_src, ++s_find;<br>        if (s_find == find_end)<br>        {    <br>            bMatched = TRUE;<br>            cp += nParLen;<br>            vec_result.push_back(vec_tmp);<br>            vec_tmp.clear();         <br>        }<br>        else<br>        {<br>            vec_tmp.push_back(*cp);<br>            ++cp;<br>        }<br>    }<br>    if(TRUE == bMatched)<br>        vec_result.push_back(vec_tmp);<br>    return(bMatched);<br>} <p>BOOL Glob_Fun::ParserMem(<br>                         const void*                    src_buf, <br>                         int                            src_len, <br>                         const char*                    par_buf, <br>                         vector<string>&                vec_result)<br>{<br>    if ((NULL == src_buf) || (src_len <= 0) || strlen(par_buf) <= 0) <br>        return FALSE;<br>    vec_result.clear(); <p>    string vec_tmp;<br>    BOOL bMatched = FALSE;<br>    char*cp = (char*)src_buf;<br>    char*src_end = (char*)src_buf +  src_len;<br>    int  nParLen = strlen(par_buf);<br>    char*find_buf = (char*)par_buf;<br>    char*find_end = find_buf + nParLen;<br>    char*s_src = NULL, *s_find = NULL; <p>    while (cp < src_end)<br>    {<br>        s_src = cp;<br>        s_find = (char*)find_buf;<br>        while (s_src < src_end && s_find < find_end && *s_src == *s_find)<br>            ++s_src, ++s_find;<br>        if (s_find == find_end)<br>        {    <br>            bMatched = TRUE;<br>            cp += nParLen;<br>            vec_result.push_back(vec_tmp);<br>            vec_tmp.clear();         <br>        }<br>        else<br>        {<br>            vec_tmp.push_back(*cp);<br>            ++cp;<br>        }<br>    }<br>    if(TRUE == bMatched)<br>        vec_result.push_back(vec_tmp);<br>    return(bMatched);<br>} <img src ="http://m.shnenglu.com/woaidongmao/aggbug/54382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2008-06-23 15:43 <a href="http://m.shnenglu.com/woaidongmao/archive/2008/06/23/54382.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://0855dyw.com" target="_blank">亚洲美女黄网</a>| <a href="http://488f.com" target="_blank">亚洲免费视频观看</a>| <a href="http://www51avav.com" target="_blank">一本久久综合</a>| <a href="http://playav999.com" target="_blank">一区二区三区国产精品</a>| <a href="http://zhiuh.com" target="_blank">一区二区三区日韩</a>| <a href="http://rosi2030.com" target="_blank">亚洲网站视频</a>| <a href="http://www-s8.com" target="_blank">香蕉久久夜色</a>| <a href="http://621762.com" target="_blank">美女免费视频一区</a>| <a href="http://56myf.com" target="_blank">亚洲欧洲一区二区三区</a>| <a href="http://6623555.com" target="_blank">欧美14一18处毛片</a>| <a href="http://maomi998.com" target="_blank">亚洲第一精品电影</a>| <a href="http://fuqiba.com" target="_blank">日韩香蕉视频</a>| <a href="http://www-4564949.com" target="_blank">午夜精品美女久久久久av福利</a>| <a href="http://www8xvi.com" target="_blank">亚洲欧美另类中文字幕</a>| <a href="http://787282.com" target="_blank">久久精品亚洲一区二区三区浴池</a>| <a href="http://zyjzz.com" target="_blank">久久久久国产精品一区三寸</a>| <a href="http://www-ty66.com" target="_blank">欧美二区不卡</a>| <a href="http://syruili.com" target="_blank">国产精品免费电影</a>| <a href="http://yqr55.com" target="_blank">亚洲大黄网站</a>| <a href="http://caerusmdx.com" target="_blank">亚洲中午字幕</a>| <a href="http://jivbus.com" target="_blank">免费观看成人</a>| <a href="http://iietao.com" target="_blank">洋洋av久久久久久久一区</a>| <a href="http://wlhtgj.com" target="_blank">欧美一区二区国产</a>| <a href="http://tongrenyaoye.com" target="_blank">欧美区在线播放</a>| <a href="http://wwwavzz.com" target="_blank">国产欧美va欧美va香蕉在</a>| <a href="http://www-44899.com" target="_blank">在线欧美不卡</a>| <a href="http://4986888.com" target="_blank">亚洲免费在线播放</a>| <a href="http://9885888.com" target="_blank">亚洲高清久久久</a>| <a href="http://899399com.com" target="_blank">亚洲一区二区三区免费观看</a>| <a href="http://chukewang.com" target="_blank">玖玖玖国产精品</a>| <a href="http://152mu.com" target="_blank">欧美日韩123</a>| <a href="http://cnlbogs.com" target="_blank">在线视频成人</a>| <a href="http://bmcshy.com" target="_blank">亚洲午夜性刺激影院</a>| <a href="http://actinview.com" target="_blank">免费观看日韩</a>| <a href="http://ncyy4.com" target="_blank">欧美在线视频一区</a>| <a href="http://belerbb.com" target="_blank">国产精品久久午夜夜伦鲁鲁</a>| <a href="http://www151zh.com" target="_blank">欧美日韩在线视频观看</a>| <a href="http://18mmcg.com" target="_blank">欧美激情麻豆</a>| <a href="http://holotu.com" target="_blank">亚洲综合不卡</a>| <a href="http://4379d.com" target="_blank">久久国产精品72免费观看</a>| <a href="http://5xxm.com" target="_blank">欧美在线视频免费播放</a>| <a href="http://www-111111.com" target="_blank">久久影院午夜论</a>| <a href="http://pabjzz.com" target="_blank">一区二区三区.www</a>| <a href="http://88488848.com" target="_blank">久久综合中文</a>| <a href="http://xwsj2020.com" target="_blank">国产一区二区黄</a>| <a href="http://www-24333.com" target="_blank">小黄鸭视频精品导航</a>| <a href="http://goutoujunshi.com" target="_blank">亚洲国产另类精品专区 </a>| <a href="http://313cq.com" target="_blank">亚洲精品久久久久久下一站</a>| <a href="http://www5xzz1.com" target="_blank">亚洲在线日韩</a>| <a href="http://xxdd51.com" target="_blank">欧美日本精品一区二区三区</a>| <a href="http://bbww55.com" target="_blank">一区二区三区中文在线观看</a>| <a href="http://by3259.com" target="_blank">亚洲欧美在线一区</a>| <a href="http://2225101.com" target="_blank">一区二区免费看</a>| <a href="http://www3344cao.com" target="_blank">欧美性猛交视频</a>| <a href="http://707377c.com" target="_blank">制服丝袜激情欧洲亚洲</a>| <a href="http://filark.com" target="_blank">日韩视频免费观看</a>| <a href="http://607032.com" target="_blank">欧美人成免费网站</a>| <a href="http://118017.com" target="_blank">亚洲香蕉成视频在线观看</a>| <a href="http://5mcm.com" target="_blank">99国产精品国产精品久久</a>| <a href="http://bgflee.com" target="_blank">欧美日韩亚洲一区二</a>| <a href="http://yyypdq.com" target="_blank">制服丝袜激情欧洲亚洲</a>| <a href="http://caokk1.com" target="_blank">一区二区三区**美女毛片</a>| <a href="http://yw8333.com" target="_blank">国产精品久久久久久超碰</a>| <a href="http://xgame8.com" target="_blank">亚洲欧美卡通另类91av</a>| <a href="http://ewaygou.com" target="_blank">制服丝袜激情欧洲亚洲</a>| <a href="http://goldure.com" target="_blank">国产精品视频男人的天堂</a>| <a href="http://dgxinshidai.com" target="_blank">亚洲欧美日韩精品久久久久</a>| <a href="http://04oy.com" target="_blank">亚洲欧美在线网</a>| <a href="http://91x8.com" target="_blank">国产亚洲毛片在线</a>| <a href="http://www353488.com" target="_blank">美女999久久久精品视频</a>| <a href="http://987328.com" target="_blank">久久婷婷久久</a>| <a href="http://o10669.com" target="_blank">亚洲精品免费网站</a>| <a href="http://66636by.com" target="_blank">99pao成人国产永久免费视频</a>| <a href="http://bby99.com" target="_blank">欧美午夜精品电影</a>| <a href="http://9113i.com" target="_blank">久久狠狠一本精品综合网</a>| <a href="http://caogb.com" target="_blank">久久九九热免费视频</a>| <a href="http://74w4.com" target="_blank">亚洲欧洲日韩综合二区</a>| <a href="http://kk8586.com" target="_blank">一本久久综合</a>| <a href="http://zunguidq.com" target="_blank">国产亚洲激情</a>| <a href="http://8090567.com" target="_blank">欧美成人精品福利</a>| <a href="http://zhouqie.com" target="_blank">欧美日韩国产在线观看</a>| <a href="http://xilxx.com" target="_blank">欧美在线一区二区</a>| <a href="http://482896.com" target="_blank">麻豆国产精品777777在线</a>| <a href="http://ttzbdl.com" target="_blank">一本大道久久精品懂色aⅴ</a>| <a href="http://beeperagain.com" target="_blank">亚洲午夜国产成人av电影男同</a>| <a href="http://233116.com" target="_blank">国产在线一区二区三区四区</a>| <a href="http://gzw33.com" target="_blank">91久久综合</a>| <a href="http://jj8518.com" target="_blank">亚洲在线视频免费观看</a>| <a href="http://9906w.com" target="_blank">国内精品美女在线观看</a>| <a href="http://d1112.com" target="_blank">亚洲黄色成人</a>| <a href="http://eguge.com" target="_blank">中文精品一区二区三区</a>| <a href="http://52wenxiu.com" target="_blank">一区二区三区四区五区精品</a>| <a href="http://4006616309.com" target="_blank">欧美午夜视频一区二区</a>| <a href="http://85041960.com" target="_blank">久久久久久久久一区二区</a>| <a href="http://2629929.com" target="_blank">免费一区二区三区</a>| <a href="http://05ec.com" target="_blank">亚洲欧美精品中文字幕在线</a>| <a href="http://llamkos.com" target="_blank">久久久av毛片精品</a>| <a href="http://www-493049.com" target="_blank">一区二区日韩免费看</a>| <a href="http://xilxx.com" target="_blank">久久精品视频在线</a>| <a href="http://www-9694.com" target="_blank">亚洲性视频网址</a>| <a href="http://smiczbb.com" target="_blank">美女久久一区</a>| <a href="http://www-132377.com" target="_blank">久久福利资源站</a>| <a href="http://kpd521.com" target="_blank">欧美日在线观看</a>| <a href="http://6k7a.com" target="_blank">欧美激情第4页</a>| <a href="http://jxrisen.com" target="_blank">国产农村妇女精品</a>| <a href="http://www633998.com" target="_blank">亚洲人午夜精品</a>| <a href="http://k68c.com" target="_blank">一区二区三区自拍</a>| <a href="http://cnlbogs.com" target="_blank">亚洲一区二区在线观看视频</a>| <a href="http://155fck.com" target="_blank">91久久亚洲</a>| <a href="http://aidou28.com" target="_blank">久久都是精品</a>| <a href="http://83319b.com" target="_blank">午夜精品久久久久久久蜜桃app</a>| <a href="http://72nnnn.com" target="_blank">久久中文久久字幕</a>| <a href="http://548710.com" target="_blank">性欧美激情精品</a>| <a href="http://794238.com" target="_blank">欧美日本国产一区</a>| <a href="http://yyypdq.com" target="_blank">欧美黑人在线观看</a>| <a href="http://1313js.com" target="_blank">国产一区二区三区直播精品电影</a>| <a href="http://6688zf.com" target="_blank">日韩一级不卡</a>| <a href="http://7782y.com" target="_blank">99视频一区二区</a>| <a href="http://www11111111.com" target="_blank">毛片精品免费在线观看</a>| <a href="http://038226.com" target="_blank">久久久久国产精品人</a>| <a href="http://wwwmm131.com" target="_blank">亚洲欧美日韩一区在线</a>| <a href="http://xxxx48.com" target="_blank">亚洲午夜精品</a>| <a href="http://5s5s5s.com" target="_blank">欧美日韩国产综合久久</a>| <a href="http://300644.com" target="_blank">亚洲成人资源网</a>| <a href="http://785448.com" target="_blank">亚洲国产另类久久久精品极度</a>| <a href="http://wewe520.com" target="_blank">亚洲尤物在线视频观看</a>| <a href="http://tuokuba520.com" target="_blank">亚洲一区美女视频在线观看免费</a>| <a href="http://060607.com" target="_blank">午夜视黄欧洲亚洲</a>| <a href="http://youminwang.com" target="_blank">欧美女同视频</a>| <a href="http://ckk755.com" target="_blank">毛片av中文字幕一区二区</a>| <a href="http://wyy66.com" target="_blank">欧美日韩成人在线播放</a>| <a href="http://www33444.com" target="_blank">免费h精品视频在线播放</a>| <a href="http://xtgoldsky.com" target="_blank">国产精品一二三视频</a>| <a href="http://y65y.com" target="_blank">日韩亚洲成人av在线</a>| <a href="http://bjmrkj.com" target="_blank">亚洲精品在线视频观看</a>| <a href="http://s3yx.com" target="_blank">蜜桃视频一区</a>| <a href="http://2343ww.com" target="_blank">欧美激情精品久久久久久蜜臀</a>| <a href="http://www8888803.com" target="_blank">亚洲毛片在线观看.</a>| <a href="http://47b8.com" target="_blank">久久免费高清视频</a>| <a href="http://yjsp8888.com" target="_blank">国产精品久久网</a>| <a href="http://www446168.com" target="_blank">中文精品视频一区二区在线观看</a>| <a href="http://yiqiluntan.com" target="_blank">亚洲精品免费看</a>| <a href="http://by1473.com" target="_blank">欧美黑人多人双交</a>| <a href="http://tinganji.com" target="_blank">亚洲人成亚洲人成在线观看</a>| <a href="http://vpay1314.com" target="_blank">亚洲精品资源</a>| <a href="http://wwwbbb888999.com" target="_blank">欧美另类极品videosbest最新版本</a>| <a href="http://2220004.com" target="_blank">亚洲国产精品专区久久</a>| <a href="http://176sfsf.com" target="_blank">日韩亚洲欧美高清</a>| <a href="http://zisxks.com" target="_blank">欧美日韩综合在线</a>| <a href="http://esdzu.com" target="_blank">亚洲资源av</a>| <a href="http://551731.com" target="_blank">久热国产精品视频</a>| <a href="http://zyjxyx.com" target="_blank">亚洲人屁股眼子交8</a>| <a href="http://bjzgmember.com" target="_blank">欧美日韩国产123</a>| <a href="http://www-544778.com" target="_blank">亚洲午夜精品久久</a>| <a href="http://54zcr.com" target="_blank">久久久噜噜噜久久中文字幕色伊伊</a>| <a href="http://shght.com" target="_blank">激情综合网址</a>| <a href="http://ziwufuren.com" target="_blank">欧美激情a∨在线视频播放</a>| <a href="http://02326a.com" target="_blank">一本久道久久综合狠狠爱</a>| <a href="http://miaoxp.com" target="_blank">亚洲欧美视频在线</a>| <a href="http://hbzbjxzz.com" target="_blank">国产片一区二区</a>| <a href="http://hg4958.com" target="_blank">蜜桃久久av一区</a>| <a href="http://www38044.com" target="_blank">亚洲天堂偷拍</a>| <a href="http://y8e8.com" target="_blank">欧美成人精精品一区二区频</a>| <a href="http://92ebook.com" target="_blank">一区二区三区日韩</a>| <a href="http://7a6a.com" target="_blank">国产婷婷精品</a>| <a href="http://686852a.com" target="_blank">欧美极品一区</a>| <a href="http://xshgwy.com" target="_blank">久久国产精品一区二区三区</a>| <a href="http://www94816.com" target="_blank">亚洲激情网站</a>| <a href="http://21bridal.com" target="_blank">久久噜噜噜精品国产亚洲综合</a>| <a href="http://maokk88.com" target="_blank">日韩午夜三级在线</a>| <a href="http://phitris.com" target="_blank">国产主播一区二区三区</a>| <a href="http://7878168.com" target="_blank">欧美日韩黄色大片</a>| <a href="http://wwwqm9.com" target="_blank">久久久久久97三级</a>| <a href="http://yh5557.com" target="_blank">一区二区三区国产在线观看</a>| <a href="http://kongtou8.com" target="_blank">久久伊人一区二区</a>| <a href="http://559dd.com" target="_blank">亚洲欧美国产另类</a>| <a href="http://www77vcd.com" target="_blank">亚洲人成网站精品片在线观看</a>| <a href="http://shyihegu.com" target="_blank">欧美日韩一级黄</a>| <a href="http://dxmdzz.com" target="_blank">老**午夜毛片一区二区三区</a>| <a href="http://www-474736.com" target="_blank">中文欧美字幕免费</a>| <a href="http://www-401313.com" target="_blank">欧美国产成人在线</a>| <a href="http://345fz.com" target="_blank">久久精品国产欧美亚洲人人爽</a>| <a href="http://kgg93.com" target="_blank">av不卡免费看</a>| <a href="http://ccly2.com" target="_blank">在线精品国产欧美</a>| <a href="http://www4848xx.com" target="_blank">国产嫩草一区二区三区在线观看</a>| <a href="http://86868o.com" target="_blank">欧美国产精品中文字幕</a>| <a href="http://5555547.com" target="_blank">欧美在线视频一区</a>| <a href="http://tjpzgs.com" target="_blank">亚洲免费视频中文字幕</a>| <a href="http://yw1396.com" target="_blank">亚洲免费av网站</a>| <a href="http://057232.com" target="_blank">亚洲国产欧美一区二区三区丁香婷</a>| <a href="http://dsjgqc.com" target="_blank">久久精品水蜜桃av综合天堂</a>| <a href="http://www895pao.com" target="_blank">亚洲免费小视频</a>| <a href="http://by3787.com" target="_blank">亚洲性视频网址</a>| <a href="http://quanfadq.com" target="_blank">日韩午夜激情av</a>| <a href="http://xhamtube.com" target="_blank">亚洲欧洲视频</a>| <a href="http://cl5555.com" target="_blank">亚洲韩日在线</a>| <a href="http://ff9222.com" target="_blank">亚洲国产精品va在线看黑人动漫</a>| <a href="http://25axxa.com" target="_blank">国产精品推荐精品</a>| <a href="http://huayoue.com" target="_blank">国产精品国产三级国产专播品爱网</a>| <a href="http://7171152.com" target="_blank">欧美高清视频在线播放</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>