锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品美女久久777777,欧美丰满熟妇BBB久久久,久久国产成人精品国产成人亚洲http://www.shnenglu.com/noflybird/archive/2015/02/26/209876.html涓嶄細(xì)椋炵殑楦?/dc:creator>涓嶄細(xì)椋炵殑楦?/author>Thu, 26 Feb 2015 10:53:00 GMThttp://www.shnenglu.com/noflybird/archive/2015/02/26/209876.htmlhttp://www.shnenglu.com/noflybird/comments/209876.htmlhttp://www.shnenglu.com/noflybird/archive/2015/02/26/209876.html#Feedback0http://www.shnenglu.com/noflybird/comments/commentRss/209876.htmlhttp://www.shnenglu.com/noflybird/services/trackbacks/209876.html//targetver.h

#pragma once

// 鍖呮嫭 SDKDDKVer.h 灝嗗畾涔夊彲鐢ㄧ殑鏈楂樼増鏈殑 Windows 騫沖彴銆?br />
// 濡傛灉瑕佷負(fù)浠ュ墠鐨?nbsp;Windows 騫沖彴鐢熸垚搴旂敤紼嬪簭錛岃鍖呮嫭 WinSDKVer.h錛屽茍灝?br />// WIN32_WINNT 瀹忚緗負(fù)瑕佹敮鎸佺殑騫沖彴錛岀劧鍚庡啀鍖呮嫭 SDKDDKVer.h銆?/span>

#include <WinSDKVer.h>

#define _WIN32_WINNT _WIN32_WINNT_WINXP

#include <SDKDDKVer.h>

1銆佸涓婏細(xì)鍦╰argetver.h涓坊鍔犱唬鐮?/p>

2銆佸涓嬶細(xì)淇敼榪愯搴?/p>



]]>
[杞琞Linux涓媑++緙栬瘧C++榪炴帴oracle錛圤CCI錛夊嚭鐜扮殑闂鍙?qiáng)瑙e喯x柟寮?/title><link>http://www.shnenglu.com/noflybird/archive/2014/12/18/209221.html</link><dc:creator>涓嶄細(xì)椋炵殑楦?/dc:creator><author>涓嶄細(xì)椋炵殑楦?/author><pubDate>Thu, 18 Dec 2014 05:04:00 GMT</pubDate><guid>http://www.shnenglu.com/noflybird/archive/2014/12/18/209221.html</guid><wfw:comment>http://www.shnenglu.com/noflybird/comments/209221.html</wfw:comment><comments>http://www.shnenglu.com/noflybird/archive/2014/12/18/209221.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/noflybird/comments/commentRss/209221.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/noflybird/services/trackbacks/209221.html</trackback:ping><description><![CDATA[<span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">鐢變簬欏圭洰鍘熷洜錛屽紑濮嬪涔?fàn)C++錛屽垰鎺ヨЕ鍗婁釜澶氭湀錛屼粖澶╁弬鑰冪綉涓婁緥瀛愶紝鍐欎簡(jiǎn)涓畝鍗曠殑C++榪炴帴ORACLE鐨凞EMO錛屽彲鏄嬌鐢╣++緙栬瘧鏃朵笉欏哄埄錛屼笉鏄姤榪欎釜閿欏氨鏄偅涓紝鏈鍚庡弬鑰冪綉涓婄殑瑙e喅鏂瑰紡鍜屼釜浜虹悊瑙o紝緇堜簬璋冭瘯濂戒簡(jiǎn)錛岀幇鎶婄紪璇戜腑鍑虹幇鐨勯棶棰樺拰瑙e喅鏂規(guī)硶鎬葷粨鍑烘潵銆?nbsp;</span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  婧愪唬鐮?nbsp;</span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /> <div style="width: 936.53125px; line-height: 26px;"><div><div style="border-left-color: #999999;">C++浠g爜</div></div><ol><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">#include <iostream>  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">#include <string>  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">#include "occi.h"  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;"><span style="color: blue;">using</span> <span style="color: blue;">namespace</span> oracle::occi;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;"><span style="color: blue;">using</span> <span style="color: blue;">namespace</span> std;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;"><span style="color: #2e8b57; font-weight: bold;">int</span> main()  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">{  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string usr=<span style="color: red;">"sys"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string pwd=<span style="color: red;">"orcl"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string SID=<span style="color: red;">"ORCL"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string date;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        Environment *env=Environment::createEnvironment(Environment::OBJECT);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        Connection *conn= env->createConnection(usr,pwd,SID);//all strings  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        <span style="color: blue;">if</span>(conn)  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">                cout<<<span style="color: red;">"success createConnection!"</span><<endl;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        <span style="color: blue;">else</span>  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">                cout<<<span style="color: red;">"failure createConnection!"</span><<endl;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        Statement *stmt = conn->createStatement();  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string sSQL = <span style="color: red;">"select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        stmt->setSQL(sSQL);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        ResultSet *rs = stmt->executeQuery();  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        <span style="color: blue;">if</span>(rs->next())  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        {  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">                date = rs->getString(1);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        }  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        cout<<<span style="color: red;">"now time :"</span><<date<<endl;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        env->terminateConnection(conn);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        Environment::terminateEnvironment(env);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        <span style="color: blue;">return</span> 0;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">}  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">    </li></ol></div><div bg_c++"="" style="width: 936.53125px; line-height: 26px;"><div><div style="border-left-color: #999999;"><strong>[c++]</strong> <a title="view plain">view plain</a><a title="copy">copy</a><a title="print">print</a><a title="?">?</a><div style="position: absolute; left: 518px; top: 1425px; width: 29px; height: 14px; z-index: 99;"></div></div></div><ol start="1"><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">#include <iostream>  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">#include <string>  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">#include "occi.h"  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;"><span style="color: blue;">using</span> <span style="color: blue;">namespace</span> oracle::occi;  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;"><span style="color: blue;">using</span> <span style="color: blue;">namespace</span> std;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;"><span style="color: #2e8b57; font-weight: bold;">int</span> main()  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">{  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        string usr=<span style="color: red;">"sys"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string pwd=<span style="color: red;">"orcl"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        string SID=<span style="color: red;">"ORCL"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string date;  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        Environment *env=Environment::createEnvironment(Environment::OBJECT);  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        Connection *conn= env->createConnection(usr,pwd,SID);//all strings  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        <span style="color: blue;">if</span>(conn)  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">                cout<<<span style="color: red;">"success createConnection!"</span><<endl;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        <span style="color: blue;">else</span>  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">                cout<<<span style="color: red;">"failure createConnection!"</span><<endl;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        Statement *stmt = conn->createStatement();  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        string sSQL = <span style="color: red;">"select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual"</span>;  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        stmt->setSQL(sSQL);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        ResultSet *rs = stmt->executeQuery();  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        <span style="color: blue;">if</span>(rs->next())  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        {  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">                date = rs->getString(1);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        }  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        cout<<<span style="color: red;">"now time :"</span><<date<<endl;  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">        env->terminateConnection(conn);  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        Environment::terminateEnvironment(env);  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">        <span style="color: blue;">return</span> 0;  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">}  </li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">    </li></ol></div><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  鏈漢linux涓婂畨瑁卭racle璺緞錛?opt/app/oracle/product/10.2.0/db_1 </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  緙栬瘧鍛戒護(hù)錛歡++ -o conn -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib conn_db.cpp -g </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">闂涓錛氱紪璇戞椂鎶ュ涓嬮敊璇細(xì) </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">    </span><div style="width: 936.53125px; line-height: 26px;"><div><div style="border-left-color: #999999;">Shell浠g爜</div></div><ol><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">      [oracle@localhost demo]$ g++ g++ -o conn -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib -lclntsh -locci /usr/lib/libstdc++.so.5 conn_db.cpp -g  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">g++: g++: No such file or directory  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:3:18: error: occi.h: No such file or directory  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:4: error: <span style="color: red;">'oracle'</span> has not been declared  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:4: error: <span style="color: red;">'occi'</span> is not a namespace-name  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:4: error: expected namespace-name before <span style="color: red;">';'</span> token  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp: In function <span style="color: red;">'int main()'</span>:  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:14: error: <span style="color: red;">'Environment'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:14: error: <span style="color: red;">'env'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:14: error: <span style="color: red;">'Environment'</span> is not a class or namespace  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:14: error: <span style="color: red;">'Environment'</span> is not a class or namespace  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:15: error: <span style="color: red;">'Connection'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:15: error: <span style="color: red;">'conn'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:21: error: <span style="color: red;">'Statement'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:21: error: <span style="color: red;">'stmt'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:26: error: <span style="color: red;">'ResultSet'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:26: error: <span style="color: red;">'rs'</span> was not declared in this scope  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">conn_db.cpp:35: error: <span style="color: red;">'Environment'</span> is not a class or namespace  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">       </li></ol></div><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">   </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">    </span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff; color: red;">瑙e喅錛?/span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">緙栬瘧鏃舵病鏈夊紩鍏CCI澶存枃浠訛紝濡傛灉娌℃湁錛屽厛涓嬭澆瀵瑰簲鐨?ORACLE client瀹夎錛屾瘮濡傛垜鐨勬槸oracle10g,涓嬭澆浜?jiǎn)oracle-instantclient-basic- 10.2.0.4-1.i386.zip錛岃В鍘嬪埌涓涓洰褰曚笅(/home/oracle/oracle/include)錛岀劧鍚庡湪緙栬瘧鏂囦歡鐨勬椂鍊欏紩榪涜繖涓В鍘嬬洰褰?nbsp;</span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">   緙栬瘧鍛戒護(hù)澧炲姞OCCI鐩綍錛歡++ -o conn </span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff; color: red;">-I/home/oracle/oracle/include </span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">-L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib conn_db.cpp -g </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">闂2錛氭壘涓嶅埌瀵瑰簲鍑芥暟 </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /> <div style="width: 936.53125px; line-height: 26px;"><div><div style="border-left-color: #999999;">Shell浠g爜</div></div><ol><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">   [oracle@localhost demo]$ g++ -o conn -I/home/oracle/oracle/include -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib conn_db.cpp -Wall -O -g  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">/tmp/cclFs9xq.o: In function `main':  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">/home/oracle/oracle/demo/conn_db.cpp:14: undefined reference to `oracle::occi::Environment::createEnvironment(oracle::occi::Environment::Mode, void*, void* (*)(void*, unsigned int), void* (*)(void*, void*, unsigned int), void (*)(void*, void*))'  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">/home/oracle/oracle/demo/conn_db.cpp:35: undefined reference to `oracle::occi::Environment::terminateEnvironment(oracle::occi::Environment*)'  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">collect2: ld returned 1 exit status   </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">   </li></ol></div><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff; color: red;">瑙e喅錛?/span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">澧炲姞libocci.so鍜宭ibclntsh.so鎸囧畾緙栬瘧 </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  淇敼鍚庣殑緙栬瘧鍛戒護(hù)錛?g++ -o conn -I/home/oracle/oracle/include -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib conn_db.cpp </span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff; color: red;">-lclntsh -locci</span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;"> -Wall -O -g </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  鍙﹀鍙兘鍦ㄥ紩鍏?lclntsh -locci緙栬瘧鏃跺彲鑳戒細(xì)鎶ユ壘涓嶅埌浠ヤ笅閿欒錛?nbsp;</span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">    </span><div style="width: 936.53125px; line-height: 26px;"><div><div style="border-left-color: #999999;">Shell浠g爜</div></div><ol><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">     [oracle@localhost demo]$ g++ -o conn -I/home/oracle/oracle/include -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib conn_db.cpp -lclntsh -locci /usr/lib/libstdc++.so.5 -Wall -O -g  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">/usr/bin/ld: cannot find -lclntsh  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">collect2: ld returned 1 exit status  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">[oracle@localhost demo]$   </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">       </li></ol></div><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">     </span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff; color: red;">瑙e喅</span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">錛氳繖鏄洜涓烘病鏈夋壘鍒發(fā)ibclntsh.so鍜宭ibocci.so閾炬帴搴?浣犲湪鍙互鎶妎racle client瀹夎鐩綍涓嬫妸榪欎袱涓枃浠舵嫹璐濆埌$ORACLE_HOME/lib鐩綍涓嬶紝鎴栧姞鍒?usr/lib鐩綍涓嬪氨鍙互浜?nbsp;</span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">闂涓夛細(xì)occi鍦╨inux緙栬瘧榪愯鏃舵姤libstdc++.so.6鍐茬獊鐨勯棶棰?nbsp;</span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">   </span><div style="width: 936.53125px; line-height: 26px;"><div><div style="border-left-color: #999999;">Java浠g爜</div></div><ol><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">[oracle<span style="color: #646464;">@localhost</span> demo]$ g++ -o conn -I/home/oracle/oracle/include -L/opt/app/oracle/product/<span style="color: #c00000;">10.2</span>.<span style="color: #c00000;">0</span>/db_1/lib -L/opt/oracle/product/<span style="color: #c00000;">10.2</span>.<span style="color: #c00000;">0</span>/db_1/rdbms/lib conn_db.cpp -lclntsh -locci -Wall -O -g  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">/usr/bin/ld: warning: libstdc++.so.<span style="color: #c00000;">5</span>, needed by /opt/app/oracle/product/<span style="color: #c00000;">10.2</span>.<span style="color: #c00000;">0</span>/db_1/lib/libocci.so, may conflict with libstdc++.so.<span style="color: #c00000;">6</span>  </li></ol></div><div bg_java"="" style="width: 936.53125px; line-height: 26px;"><div><div style="border-left-color: #999999;"><strong>[java]</strong> <a title="view plain">view plain</a><a title="copy">copy</a><a title="print">print</a><a title="?">?</a><div style="position: absolute; left: 520px; top: 3992px; width: 29px; height: 14px; z-index: 99;"></div></div></div><ol start="1"><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px;">[oracle<span style="color: #646464;">@localhost</span> demo]$ g++ -o conn -I/home/oracle/oracle/include -L/opt/app/oracle/product/<span style="color: #c00000;">10.2</span>.<span style="color: #c00000;">0</span>/db_1/lib -L/opt/oracle/product/<span style="color: #c00000;">10.2</span>.<span style="color: #c00000;">0</span>/db_1/rdbms/lib conn_db.cpp -lclntsh -locci -Wall -O -g  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">/usr/bin/ld: warning: libstdc++.so.<span style="color: #c00000;">5</span>, needed by /opt/app/oracle/product/<span style="color: #c00000;">10.2</span>.<span style="color: #c00000;">0</span>/db_1/lib/libocci.so, may conflict with libstdc++.so.<span style="color: #c00000;">6</span>  </li></ol></div><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  </span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff; color: red;">瑙e喅</span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">錛歄CCI搴撳湪linux緙栬瘧鐨勬椂鍊欙紝鐢變簬linux鐗堟湰澶珮錛屼細(xì)鎻愮ず浠ヤ笂鎯呭喌錛屽疄闄呬笂錛屽湪澶у鏁發(fā)inux緋葷粺涓婏紝榪樹繚鐣欐湁libstdc++5鐨勫簱錛岃嚜宸辨墜宸ュ湪緙栬瘧鐨勬椂鍊欏姞涓婂幓灝卞ソ浜?nbsp;</span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  淇敼鍚庣殑緙栬瘧鍛戒護(hù)錛歡++ -o conn -I/home/oracle/oracle/include -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib -lclntsh -locci </span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff; color: red;">/usr/lib/libstdc++.so.5</span><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;"> conn_db.cpp -g </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  緙栬瘧閫氳繃鍚庢墽琛岀粨鏋滆緭鍑猴細(xì) </span><br style="font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">  </span><div style="font-family: Arial; line-height: 26px; background-color: #ffffff;"><div>Shell浠g爜</div></div><div style="width: 936.53125px; line-height: 26px;"><ol><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">[oracle@localhost demo]$ g++ -o conn -I/home/oracle/oracle/include -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.0/db_1/rdbms/lib conn_db.cpp -lclntsh -locci /usr/lib/libstdc++.so.5 -Wall -O -g  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">[oracle@localhost demo]$ ./conn  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">success createConnection!  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">now time :2010-11-14 22:49:24  </li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px;">[oracle@localhost demo]$  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"><br /></p><img src ="http://www.shnenglu.com/noflybird/aggbug/209221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/noflybird/" target="_blank">涓嶄細(xì)椋炵殑楦?/a> 2014-12-18 13:04 <a href="http://www.shnenglu.com/noflybird/archive/2014/12/18/209221.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍚勭瀛楃涓睭ash鍑芥暟姣旇緝http://www.shnenglu.com/noflybird/archive/2014/11/10/208836.html涓嶄細(xì)椋炵殑楦?/dc:creator>涓嶄細(xì)椋炵殑楦?/author>Mon, 10 Nov 2014 11:53:00 GMThttp://www.shnenglu.com/noflybird/archive/2014/11/10/208836.htmlhttp://www.shnenglu.com/noflybird/comments/208836.htmlhttp://www.shnenglu.com/noflybird/archive/2014/11/10/208836.html#Feedback0http://www.shnenglu.com/noflybird/comments/commentRss/208836.htmlhttp://www.shnenglu.com/noflybird/services/trackbacks/208836.html

甯哥敤鐨勫瓧絎︿覆Hash鍑芥暟榪樻湁ELFHash錛孉PHash絳夌瓑錛岄兘鏄崄鍒嗙畝鍗曟湁鏁堢殑鏂規(guī)硶銆傝繖浜涘嚱鏁頒嬌鐢ㄤ綅榪愮畻浣垮緱姣忎竴涓瓧絎﹂兘瀵規(guī)渶鍚庣殑鍑芥暟鍊間駭鐢熷獎(jiǎng)鍝嶃傚彟澶栬繕鏈変互MD5鍜孲HA1涓轟唬琛ㄧ殑鏉傚噾鍑芥暟錛岃繖浜涘嚱鏁板嚑涔庝笉鍙兘鎵懼埌紕版挒銆?/p>

甯哥敤瀛楃涓插搱甯屽嚱鏁版湁BKDRHash錛孉PHash錛孌JBHash錛孞SHash錛孯SHash錛孲DBMHash錛孭JWHash錛孍LFHash絳夌瓑銆傚浜庝互涓婂嚑縐嶅搱甯屽嚱鏁幫紝鎴戝鍏惰繘琛屼簡(jiǎn)涓涓皬灝忕殑璇勬祴銆?br />

Hash鍑芥暟鏁版嵁1鏁版嵁2鏁版嵁3鏁版嵁4鏁版嵁1寰楀垎鏁版嵁2寰楀垎鏁版嵁3寰楀垎鏁版嵁4寰楀垎騫沖潎鍒?/td>
BKDRHash20477448196.5510090.9582.0592.64
APHash23475449396.5588.4610051.2886.28
DJBHash22497547496.5592.31010083.43
JSHash14476150610084.6296.8317.9581.94
RSHash10486150510010051.5820.5175.96
SDBMHash32484950493.192.3157.0123.0872.41
PJWHash302648785130043.89021.95
ELFHash302648785130043.89021.95

鍏朵腑鏁版嵁1涓?00000涓瓧姣嶅拰鏁板瓧緇勬垚鐨勯殢鏈轟覆鍝堝笇鍐茬獊涓暟銆傛暟鎹?涓?00000涓湁鎰忎箟鐨勮嫳鏂囧彞瀛愬搱甯屽啿紿佷釜鏁般傛暟鎹?涓烘暟鎹?鐨勫搱甯屽間笌1000003(澶х礌鏁?姹傛ā鍚庡瓨鍌ㄥ埌綰挎ц〃涓啿紿佺殑涓暟銆傛暟鎹?涓烘暟鎹?鐨勫搱甯屽間笌10000019(鏇村ぇ绱犳暟)姹傛ā鍚庡瓨鍌ㄥ埌綰挎ц〃涓啿紿佺殑涓暟銆?/p>

緇忚繃姣旇緝錛屽緱鍑轟互涓婂鉤鍧囧緱鍒嗐傚鉤鍧囨暟涓哄鉤鏂瑰鉤鍧囨暟銆傚彲浠ュ彂鐜幫紝BKDRHash鏃犺鏄湪瀹為檯鏁堟灉榪樻槸緙栫爜瀹炵幇涓紝鏁堟灉閮芥槸鏈紿佸嚭鐨勩侫PHash涔熸槸杈冧負(fù)浼樼鐨勭畻娉曘侱JBHash,JSHash,RSHash涓嶴DBMHash鍚勬湁鍗冪銆侾JWHash涓嶦LFHash鏁堟灉鏈宸紝浣嗗緱鍒嗙浉浼鹼紝鍏剁畻娉曟湰璐ㄦ槸鐩鎬技鐨勩?/p>

鍦ㄤ俊鎭慨绔炶禌涓紝瑕佹湰鐫鏄撲簬緙栫爜璋冭瘯鐨勫師鍒欙紝涓漢璁や負(fù)BKDRHash鏄渶閫傚悎璁板繂鍜屼嬌鐢ㄧ殑銆?/p>

BYVoid鍘熷垱錛屾榪庡緩璁佷氦嫻併佹壒璇勫拰鎸囨銆?/p>闄勶細(xì)鍚勭鍝堝笇鍑芥暟鐨凜璇█紼嬪簭浠g爜

unsigned int SDBMHash(char *str)
{
    unsigned 
int hash = 0;

    
while (*str)
    {
        
// equivalent to: hash = 65599*hash + (*str++);
        hash = (*str+++ (hash << 6+ (hash << 16- hash;
    }

    
return (hash & 0x7FFFFFFF);
}

// RS Hash Function
unsigned int RSHash(char *str)
{
    unsigned 
int b = 378551;
    unsigned 
int a = 63689;
    unsigned 
int hash = 0;

    
while (*str)
    {
        hash 
= hash * a + (*str++);
        a 
*= b;
    }

    
return (hash & 0x7FFFFFFF);
}

// JS Hash Function
unsigned int JSHash(char *str)
{
    unsigned 
int hash = 1315423911;

    
while (*str)
    {
        hash 
^= ((hash << 5+ (*str+++ (hash >> 2));
    }

    
return (hash & 0x7FFFFFFF);
}

// P. J. Weinberger Hash Function
unsigned int PJWHash(char *str)
{
    unsigned 
int BitsInUnignedInt = (unsigned int)(sizeof(unsigned int* 8);
    unsigned 
int ThreeQuarters    = (unsigned int)((BitsInUnignedInt  * 3/ 4);
    unsigned 
int OneEighth        = (unsigned int)(BitsInUnignedInt / 8);
    unsigned 
int HighBits         = (unsigned int)(0xFFFFFFFF<< (BitsInUnignedInt - OneEighth);
    unsigned 
int hash             = 0;
    unsigned 
int test             = 0;

    
while (*str)
    {
        hash 
= (hash << OneEighth) + (*str++);
        
if ((test = hash & HighBits) != 0)
        {
            hash 
= ((hash ^ (test >> ThreeQuarters)) & (~HighBits));
        }
    }

    
return (hash & 0x7FFFFFFF);
}

// ELF Hash Function
unsigned int ELFHash(char *str)
{
    unsigned 
int hash = 0;
    unsigned 
int x    = 0;

    
while (*str)
    {
        hash 
= (hash << 4+ (*str++);
        
if ((x = hash & 0xF0000000L!= 0)
        {
            hash 
^= (x >> 24);
            hash 
&= ~x;
        }
    }

    
return (hash & 0x7FFFFFFF);
}

// BKDR Hash Function
unsigned int BKDRHash(char *str)
{
    unsigned 
int seed = 131// 31 131 1313 13131 131313 etc..
    unsigned int hash = 0;

    
while (*str)
    {
        hash 
= hash * seed + (*str++);
    }

    
return (hash & 0x7FFFFFFF);
}

// DJB Hash Function
unsigned int DJBHash(char *str)
{
    unsigned 
int hash = 5381;

    
while (*str)
    {
        hash 
+= (hash << 5+ (*str++);
    }

    
return (hash & 0x7FFFFFFF);
}

// AP Hash Function
unsigned int APHash(char *str)
{
    unsigned 
int hash = 0;
    
int i;

    
for (i=0*str; i++)
    {
        
if ((i & 1== 0)
        {
            hash 
^= ((hash << 7^ (*str++^ (hash >> 3));
        }
        
else
        {
            hash 
^= (~((hash << 11^ (*str++^ (hash >> 5)));
        }
    }

    
return (hash & 0x7FFFFFFF);
}


]]>
[杞琞C++鐨凧son瑙f瀽搴擄細(xì)jsoncpp鍜宐oost http://www.shnenglu.com/noflybird/archive/2014/05/26/207100.html涓嶄細(xì)椋炵殑楦?/dc:creator>涓嶄細(xì)椋炵殑楦?/author>Sun, 25 May 2014 16:36:00 GMThttp://www.shnenglu.com/noflybird/archive/2014/05/26/207100.htmlhttp://www.shnenglu.com/noflybird/comments/207100.htmlhttp://www.shnenglu.com/noflybird/archive/2014/05/26/207100.html#Feedback0http://www.shnenglu.com/noflybird/comments/commentRss/207100.htmlhttp://www.shnenglu.com/noflybird/services/trackbacks/207100.htmlJSON(JavaScript Object Notation)璺焫ml涓鏍蜂篃鏄竴縐嶆暟鎹氦鎹㈡牸寮忥紝浜?jiǎn)瑙son璇峰弬鑰冨叾瀹樼綉http://json.org/錛屾湰鏂囦笉鍐嶅json鍋氫粙緇嶏紝灝嗛噸鐐逛粙緇峜++鐨刯son瑙f瀽搴撶殑浣跨敤鏂規(guī)硶銆俲son瀹樼綉涓婂垪鍑轟簡(jiǎn)鍚勭璇█瀵瑰簲鐨刯son瑙f瀽搴擄紝浣滆呬粎浠嬬粛鑷繁浣跨敤榪囩殑涓ょC++鐨刯son瑙f瀽搴?jsoncpp(v0.5.0)鍜?span id="2KSFindDIV">Boost(v1.34.0)銆?/span>

涓. 浣跨敤jsoncpp瑙f瀽json

Jsoncpp鏄釜璺ㄥ鉤鍙扮殑寮婧愬簱錛岄鍏堜粠http://jsoncpp.sourceforge.net/涓婁笅杞絡(luò)soncpp搴撴簮鐮侊紝鎴戜笅杞界殑鏄痸0.5.0錛屽帇緙╁寘澶х害107K錛岃В鍘嬶紝鍦╦soncpp-src-0.5.0/makefiles/vs71鐩綍閲屾壘鍒癹soncpp.sln錛岀敤VS2003鍙?qiáng)浠ヤ笂鐗堟湰缂栬瘧锛岄粯璁ょ敓鎴愰潤(rùn)鎬侀摼鎺ュ簱銆?鍦ㄥ伐紼嬩腑寮曠敤錛屽彧闇瑕乮nclude/json鍙?lib鏂囦歡鍗沖彲銆?/span>

浣跨敤JsonCpp鍓嶅厛鏉ョ啛鎮(zhèn)夊嚑涓富瑕佺殑綾伙細(xì)

Json::Value 鍙互琛ㄧず閲屾墍鏈夌殑綾誨瀷錛屾瘮濡俰nt,string,object,array絳夛紝鍏蜂綋搴旂敤灝嗕細(xì)鍦ㄥ悗杈圭ず渚嬩腑浠嬬粛銆?/span>

Json::Reader 灝唈son鏂囦歡嫻佹垨瀛楃涓茶В鏋愬埌Json::Value, 涓昏鍑芥暟鏈塒arse銆?/span>

Json::Writer 涓嶫son::Reader鐩稿弽錛屽皢Json::Value杞寲鎴愬瓧絎︿覆嫻侊紝娉ㄦ剰瀹冪殑涓や釜瀛愮被錛欽son::FastWriter鍜孞son::StyleWriter錛屽垎鍒緭鍑轟笉甯︽牸寮忕殑json鍜屽甫鏍煎紡鐨刯son銆?/span>

1. 浠庡瓧絎︿覆瑙f瀽json

int ParseJsonFromString()
{
  const char* str = "{\"uploadid\": \"UP000000\",\"code\": 100,\"msg\": \"\",\"files\": \"\"}";

  Json::Reader reader;
  Json::Value root;
  if (reader.parse(str, root))  // reader灝咼son瀛楃涓茶В鏋愬埌root錛宺oot灝嗗寘鍚獼son閲屾墍鏈夊瓙鍏冪礌
  {
    std::string upload_id = root["uploadid"].asString();  // 璁塊棶鑺傜偣錛寀pload_id = "UP000000"
    int code = root["code"].asInt();    // 璁塊棶鑺傜偣錛宑ode = 100
  }
  return 0;
}

2. 浠庢枃浠惰В鏋恓son

{
    "uploadid": "UP000000",
    "code": "0",
    "msg": "",
    "files":
    [
        {
            "code": "0",
            "msg": "",
            "filename": "1D_16-35_1.jpg",
            "filesize": "196690",
            "width": "1024",
            "height": "682",
            "images":
            [
                {
                    "url": "fmn061/20111118",
                    "type": "large",
                    "width": "720",
                    "height": "479"
                },
                {
                    "url": "fmn061/20111118",
                    "type": "main",
                    "width": "200",
                    "height": "133"
                }
            ]
        }
    ]
}
瑙f瀽浠g爜錛?br />
int ParseJsonFromFile(const char* filename)
{
  // 瑙f瀽json鐢↗son::Reader
  Json::Reader reader;
  // Json::Value鏄竴縐嶅緢閲嶈鐨勭被鍨嬶紝鍙互浠h〃浠繪剰綾誨瀷銆傚int, string, object, array
  Json::Value root;       

  std::ifstream is;
  is.open (filename, std::ios::binary );  
  if (reader.parse(is, root))
  {
    std::string code;
    if (!root["files"].isNull())  // 璁塊棶鑺傜偣錛孉ccess an object value by name, create a null member if it does not exist.
      code = root["uploadid"].asString();
    
    // 璁塊棶鑺傜偣錛孯eturn the member named key if it exist, defaultValue otherwise.
    code = root.get("uploadid", "null").asString();

    // 寰楀埌"files"鐨勬暟緇勪釜鏁?/span>
    int file_size = root["files"].size();

    // 閬嶅巻鏁扮粍
    for(int i = 0; i < file_size; ++i)
    {
      Json::Value val_image = root["files"][i]["images"];
      int image_size = val_image.size();
      for(int j = 0; j < image_size; ++j)
      {
        std::string type = val_image[j]["type"].asString();
        std::string url = val_image[j]["url"].asString();
      }
    }
  }
  is.close();
  return 0;
}

3. 鍦╦son緇撴瀯涓彃鍏son

    Json::Value arrayObj;   // 鏋勫緩瀵硅薄
    Json::Value new_item, new_item1;
    new_item["date"] = "2011-12-28";
    new_item1["time"] = "22:30:36";
    arrayObj.append(new_item);  // 鎻掑叆鏁扮粍鎴愬憳
    arrayObj.append(new_item1); // 鎻掑叆鏁扮粍鎴愬憳
    int file_size = root["files"].size();
    for(int i = 0; i < file_size; ++i)
      root["files"][i]["exifs"] = arrayObj;   // 鎻掑叆鍘焜son涓?/span>

4. 杈撳嚭json

// 杞崲涓哄瓧絎︿覆錛堝甫鏍煎紡錛?/span>
std::string out = root.toStyledString();
// 杈撳嚭鏃犳牸寮廽son瀛楃涓?/span>
Json::FastWriter writer;
std::string out2 = writer.write(root);

浜? 浣跨敤Boost property_tree瑙f瀽json

property_tree鍙互瑙f瀽xml錛宩son錛宨ni錛宨nfo絳夋牸寮忕殑鏁版嵁錛岀敤property_tree瑙f瀽榪欏嚑縐嶆牸寮忎嬌鐢ㄦ柟娉曞緢鐩鎬技銆?/p>

瑙f瀽json寰堢畝鍗曪紝鍛藉悕絀洪棿涓?span id="4KSFindDIV">boost::property_tree錛宺eson_json鍑芥暟灝嗘枃浠舵祦銆佸瓧絎︿覆瑙f瀽鍒皃tree錛寃rite_json灝唒tree杈撳嚭涓哄瓧絎︿覆鎴栨枃浠舵祦銆傚叾浣欑殑閮芥槸瀵筽tree鐨勬搷浣溿?/p>

瑙f瀽json闇瑕佸姞澶存枃浠訛細(xì)

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>

1. 瑙f瀽json

瑙f瀽涓孌典笅闈㈢殑鏁版嵁錛?/p>

{
  "code": 0,
  "images":
  [
    {
      "url": "fmn057/20111221/1130/head_kJoO_05d9000251de125c.jpg"
    },
    {
      "url": "fmn057/20111221/1130/original_kJoO_05d9000251de125c.jpg"
    }
  ]
}
int ParseJson()
{
  std::string str = "{\"code\":0,\"images\":[{\"url\":\"fmn057/20111221/1130/head_kJoO_05d9000251de125c.jpg\"},{\"url\":\"fmn057/20111221/1130/original_kJoO_05d9000251de125c.jpg\"}]}";
  using namespace boost::property_tree;

  std::stringstream ss(str);
  ptree pt;
  try{    
    read_json(ss, pt);
  }
  catch(ptree_error & e) {
    return 1; 
  }

  try{
    int code = pt.get<int>("code");   // 寰楀埌"code"鐨剉alue
    ptree image_array = pt.get_child("images");  // get_child寰楀埌鏁扮粍瀵硅薄
    
    
// 閬嶅巻鏁扮粍
    BOOST_FOREACH(boost::property_tree::ptree::value_type &v, image_array)
    {
      std::stringstream s;
      write_json(s, v.second);
      std::string image_item = s.str();
    }
  }
  catch (ptree_error & e)
  {
    return 2;
  }
  return 0;
}

2. 鏋勯爅son

int InsertJson()
{
  std::string str = "{\"code\":0,\"images\":[{\"url\":\"fmn057/20111221/1130/head_kJoO_05d9000251de125c.jpg\"},{\"url\":\"fmn057/20111221/1130/original_kJoO_05d9000251de125c.jpg\"}]}";
  using namespace boost::property_tree;

  std::stringstream ss(str);
  ptree pt;
  try{    
    read_json(ss, pt);
  }
  catch(ptree_error & e) {
    return 1; 
  }

  // 淇敼/澧炲姞涓涓猭ey-value錛宬ey涓嶅瓨鍦ㄥ垯澧炲姞
  pt.put("upid", "00001");

  // 鎻掑叆涓涓暟緇?/span>
  ptree exif_array;
  ptree array1, array2, array3;
  array1.put("Make", "NIKON");
  array2.put("DateTime", "2011:05:31 06:47:09");
  array3.put("Software", "Ver.1.01");
  exif_array.push_back(std::make_pair("", array1));
  exif_array.push_back(std::make_pair("", array2));
  exif_array.push_back(std::make_pair("", array3));

//   exif_array.push_back(std::make_pair("Make", "NIKON"));
//   exif_array.push_back(std::make_pair("DateTime", "2011:05:31 06:47:09"));
//   exif_array.push_back(std::make_pair("Software", "Ver.1.01"));

  pt.put_child("exifs", exif_array);
  std::stringstream s2;
  write_json(s2, pt);
  std::string outstr = s2.str();

  return 0;
}

涓? 涓ょ瑙f瀽搴撶殑浣跨敤緇忛獙

1. 鐢?span id="15KSFindDIV">boost::property_tree瑙f瀽瀛楃涓查亣鍒?\/"鏃惰В鏋愬け璐ワ紝鑰宩soncpp鍙互瑙f瀽鎴愬姛錛岃鐭ラ亾'/'鍓嶉潰鍔犱竴涓?\'鏄疛SON鏍囧噯鏍煎紡銆?/p>

2. boost::property_tree鐨剅ead_json鍜寃rite_json鍦ㄥ綰跨▼涓嬌鐢ㄤ細(xì)寮曡搗宕╂簝銆?/p>

閽堝1錛屽彲浠ュ湪浣跨敤boost::property_tree瑙f瀽鍓嶅啓涓嚱鏁板幓鎺?\/"涓殑'\'錛岄拡瀵?錛屽湪澶氱嚎紼嬩腑鍚屾涓涓嬪彲浠ヨВ鍐熾?/p>

鎴戠殑浣跨敤蹇?jī)寰楀Q氫嬌鐢?span id="18KSFindDIV">boost::property_tree涓嶄粎鍙互瑙f瀽json錛岃繕鍙互瑙f瀽xml錛宨nfo絳夋牸寮忕殑鏁版嵁銆傚浜庤В鏋恓son錛屼嬌鐢?span id="19KSFindDIV">boost::property_tree瑙f瀽榪樺彲浠ュ繊鍙楋紝浣嗚В鏋恱ml錛岀敱浜庨亣鍒伴棶棰樺お澶氬彧鑳芥崲鍏跺畠搴撲簡(jiǎn)銆?/p>

]]>
[杞琞瀛楃涓插尮閰嶇殑Boyer-Moore綆楁硶http://www.shnenglu.com/noflybird/archive/2014/03/06/206080.html涓嶄細(xì)椋炵殑楦?/dc:creator>涓嶄細(xì)椋炵殑楦?/author>Thu, 06 Mar 2014 13:47:00 GMThttp://www.shnenglu.com/noflybird/archive/2014/03/06/206080.htmlhttp://www.shnenglu.com/noflybird/comments/206080.htmlhttp://www.shnenglu.com/noflybird/archive/2014/03/06/206080.html#Feedback0http://www.shnenglu.com/noflybird/comments/commentRss/206080.htmlhttp://www.shnenglu.com/noflybird/services/trackbacks/206080.html涓婁竴綃囨枃绔狅紝鎴戜粙緇嶄簡(jiǎn)KMP綆楁硶銆?/p>

浣嗘槸錛屽畠騫朵笉鏄晥鐜囨渶楂樼殑綆楁硶錛屽疄闄呴噰鐢ㄥ茍涓嶅銆傚悇縐嶆枃鏈紪杈戝櫒鐨?鏌ユ壘"鍔熻兘錛圕trl+F錛夛紝澶у閲囩敤Boyer-Moore綆楁硶銆?/p>

Boyer-Moore綆楁硶涓嶄粎鏁堢巼楂橈紝鑰屼笖鏋勬濆閥濡欙紝瀹規(guī)槗鐞嗚В銆?977騫達(dá)紝寰峰厠钀ㄦ柉澶у鐨凴obert S. Boyer鏁欐巿鍜孞 Strother Moore鏁欐巿鍙戞槑浜?jiǎn)杩櫩U嶇畻娉曘?/p>

涓嬮潰錛屾垜鏍規(guī)嵁Moore鏁欐巿鑷繁鐨?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">渚嬪瓙鏉ヨВ閲婅繖縐嶇畻娉曘?/p>

1.

鍋囧畾瀛楃涓蹭負(fù)"HERE IS A SIMPLE EXAMPLE"錛屾悳绱㈣瘝涓?EXAMPLE"銆?/p>

2.

棣栧厛錛?瀛楃涓?涓?鎼滅儲(chǔ)璇?澶撮儴瀵歸綈錛屼粠灝鵑儴寮濮嬫瘮杈冦?/p>

榪欐槸涓涓緢鑱槑鐨勬兂娉曪紝鍥犱負(fù)濡傛灉灝鵑儴瀛楃涓嶅尮閰嶏紝閭d箞鍙涓嬈℃瘮杈冿紝灝卞彲浠ョ煡閬撳墠7涓瓧絎︼紙鏁翠綋涓婏級(jí)鑲畾涓嶆槸瑕佹壘鐨勭粨鏋溿?/p>

鎴戜滑鐪嬪埌錛?S"涓?E"涓嶅尮閰嶃傝繖鏃訛紝"S"灝辮縐頒負(fù)"鍧忓瓧絎?錛坆ad character錛夛紝鍗充笉鍖歸厤鐨勫瓧絎︺?/span>鎴戜滑榪樺彂鐜幫紝"S"涓嶅寘鍚湪鎼滅儲(chǔ)璇?EXAMPLE"涔嬩腑錛岃繖鎰忓懗鐫鍙互鎶婃悳绱㈣瘝鐩存帴縐誨埌"S"鐨勫悗涓浣嶃?/p>

3.

渚濈劧浠庡熬閮ㄥ紑濮嬫瘮杈冿紝鍙戠幇"P"涓?E"涓嶅尮閰嶏紝鎵浠?P"鏄?鍧忓瓧絎?銆備絾鏄紝"P"鍖呭惈鍦ㄦ悳绱㈣瘝"EXAMPLE"涔嬩腑銆傛墍浠ワ紝灝嗘悳绱㈣瘝鍚庣Щ涓や綅錛屼袱涓?P"瀵歸綈銆?/p>

4.

鎴戜滑鐢辨鎬葷粨鍑?span style="font-weight: 800;">"鍧忓瓧絎﹁鍒?錛?/p>

銆銆鍚庣Щ浣嶆暟 = 鍧忓瓧絎︾殑浣嶇疆 - 鎼滅儲(chǔ)璇嶄腑鐨勪笂涓嬈″嚭鐜頒綅緗?/p>

濡傛灉"鍧忓瓧絎?涓嶅寘鍚湪鎼滅儲(chǔ)璇嶄箣涓紝鍒欎笂涓嬈″嚭鐜頒綅緗負(fù) -1銆?/p>

浠?P"涓轟緥錛屽畠浣滀負(fù)"鍧忓瓧絎?錛屽嚭鐜板湪鎼滅儲(chǔ)璇嶇殑絎?浣嶏紙浠?寮濮嬬紪鍙鳳級(jí)錛屽湪鎼滅儲(chǔ)璇嶄腑鐨勪笂涓嬈″嚭鐜頒綅緗負(fù)4錛屾墍浠ュ悗縐?6 - 4 = 2浣嶃傚啀浠ュ墠闈㈢浜屾鐨?S"涓轟緥錛屽畠鍑虹幇鍦ㄧ6浣嶏紝涓婁竴嬈″嚭鐜頒綅緗槸 -1錛堝嵆鏈嚭鐜幫級(jí)錛屽垯鏁翠釜鎼滅儲(chǔ)璇嶅悗縐?6 - (-1) = 7浣嶃?/p>

5.

渚濈劧浠庡熬閮ㄥ紑濮嬫瘮杈冿紝"E"涓?E"鍖歸厤銆?/p>

6.

姣旇緝鍓嶉潰涓浣嶏紝"LE"涓?LE"鍖歸厤銆?/p>

7.

姣旇緝鍓嶉潰涓浣嶏紝"PLE"涓?PLE"鍖歸厤銆?/p>

8.

姣旇緝鍓嶉潰涓浣嶏紝"MPLE"涓?MPLE"鍖歸厤銆?span style="font-weight: 800;">鎴戜滑鎶婅繖縐嶆儏鍐電О涓?濂藉悗緙"錛坓ood suffix錛夛紝鍗蟲墍鏈夊熬閮ㄥ尮閰嶇殑瀛楃涓層?/span>娉ㄦ剰錛?MPLE"銆?PLE"銆?LE"銆?E"閮芥槸濂藉悗緙銆?/p>

9.

姣旇緝鍓嶄竴浣嶏紝鍙戠幇"I"涓?A"涓嶅尮閰嶃傛墍浠ワ紝"I"鏄?鍧忓瓧絎?銆?/p>

10.

鏍規(guī)嵁"鍧忓瓧絎﹁鍒?錛屾鏃舵悳绱㈣瘝搴旇鍚庣Щ 2 - 錛?1錛? 3 浣嶃傞棶棰樻槸錛屾鏃舵湁娌℃湁鏇村ソ鐨勭Щ娉曪紵

11.

鎴戜滑鐭ラ亾錛屾鏃跺瓨鍦?濂藉悗緙"銆傛墍浠ワ紝鍙互閲囩敤"濂藉悗緙瑙勫垯"錛?/p>

銆銆鍚庣Щ浣嶆暟 = 濂藉悗緙鐨勪綅緗?- 鎼滅儲(chǔ)璇嶄腑鐨勪笂涓嬈″嚭鐜頒綅緗?/p>

涓句緥鏉ヨ錛屽鏋滃瓧絎︿覆"ABCDAB"鐨勫悗涓涓?AB"鏄?濂藉悗緙"銆傞偅涔堝畠鐨勪綅緗槸5錛堜粠0寮濮嬭綆楋紝鍙栨渶鍚庣殑"B"鐨勫鹼級(jí)錛屽湪"鎼滅儲(chǔ)璇嶄腑鐨勪笂涓嬈″嚭鐜頒綅緗?鏄?錛堢涓涓?B"鐨勪綅緗級(jí)錛屾墍浠ュ悗縐?5 - 1 = 4浣嶏紝鍓嶄竴涓?AB"縐誨埌鍚庝竴涓?AB"鐨勪綅緗?/p>

鍐嶄婦涓涓緥瀛愶紝濡傛灉瀛楃涓?ABCDEF"鐨?EF"鏄ソ鍚庣紑錛屽垯"EF"鐨勪綅緗槸5 錛屼笂涓嬈″嚭鐜扮殑浣嶇疆鏄?-1錛堝嵆鏈嚭鐜幫級(jí)錛屾墍浠ュ悗縐?5 - (-1) = 6浣嶏紝鍗蟲暣涓瓧絎︿覆縐誨埌"F"鐨勫悗涓浣嶃?/p>

榪欎釜瑙勫垯鏈変笁涓敞鎰忕偣錛?/p>

銆銆錛?錛?濂藉悗緙"鐨勪綅緗互鏈鍚庝竴涓瓧絎︿負(fù)鍑嗐傚亣瀹?ABCDEF"鐨?EF"鏄ソ鍚庣紑錛屽垯瀹冪殑浣嶇疆浠?F"涓哄噯錛屽嵆5錛堜粠0寮濮嬭綆楋級(jí)銆?/p>

銆銆錛?錛夊鏋?濂藉悗緙"鍦ㄦ悳绱㈣瘝涓彧鍑虹幇涓嬈★紝鍒欏畠鐨勪笂涓嬈″嚭鐜頒綅緗負(fù) -1銆傛瘮濡傦紝"EF"鍦?ABCDEF"涔嬩腑鍙嚭鐜頒竴嬈★紝鍒欏畠鐨勪笂涓嬈″嚭鐜頒綅緗負(fù)-1錛堝嵆鏈嚭鐜幫級(jí)銆?/p>

銆銆錛?錛夊鏋?濂藉悗緙"鏈夊涓紝鍒欓櫎浜?jiǎn)鏈闀跨殑閭d釜"濂藉悗緙"錛屽叾浠?濂藉悗緙"鐨勪笂涓嬈″嚭鐜頒綅緗繀欏誨湪澶撮儴銆傛瘮濡傦紝鍋囧畾"BABCDAB"鐨?濂藉悗緙"鏄?DAB"銆?AB"銆?B"錛岃闂繖鏃?濂藉悗緙"鐨勪笂涓嬈″嚭鐜頒綅緗槸浠涔堬紵鍥炵瓟鏄紝姝ゆ椂閲囩敤鐨勫ソ鍚庣紑鏄?B"錛屽畠鐨勪笂涓嬈″嚭鐜頒綅緗槸澶撮儴錛屽嵆絎?浣嶃傝繖涓鍒欎篃鍙互榪欐牱琛ㄨ揪錛氬鏋滄渶闀跨殑閭d釜"濂藉悗緙"鍙嚭鐜頒竴嬈★紝鍒欏彲浠ユ妸鎼滅儲(chǔ)璇嶆敼鍐欐垚濡備笅褰㈠紡榪涜浣嶇疆璁$畻"(DA)BABCDAB"錛屽嵆铏氭嫙鍔犲叆鏈鍓嶉潰鐨?DA"銆?/p>

鍥炲埌涓婃枃鐨勮繖涓緥瀛愩傛鏃訛紝鎵鏈夌殑"濂藉悗緙"錛圡PLE銆丳LE銆丩E銆丒錛変箣涓紝鍙湁"E"鍦?EXAMPLE"榪樺嚭鐜板湪澶撮儴錛屾墍浠ュ悗縐?6 - 0 = 6浣嶃?/p>

12.

鍙互鐪嬪埌錛?鍧忓瓧絎﹁鍒?鍙兘縐?浣嶏紝"濂藉悗緙瑙勫垯"鍙互縐?浣嶃傛墍浠ワ紝Boyer-Moore綆楁硶鐨勫熀鏈濇兂鏄紝姣忔鍚庣Щ榪欎袱涓鍒欎箣涓殑杈冨ぇ鍊箋?/span>

鏇村閥濡欑殑鏄紝榪欎袱涓鍒欑殑縐誨姩浣嶆暟錛屽彧涓庢悳绱㈣瘝鏈夊叧錛屼笌鍘熷瓧絎︿覆鏃犲叧銆傚洜姝わ紝鍙互棰勫厛璁$畻鐢熸垚銆婂潖瀛楃瑙勫垯琛ㄣ嬪拰銆婂ソ鍚庣紑瑙勫垯琛ㄣ嬨備嬌鐢ㄦ椂錛屽彧瑕佹煡琛ㄦ瘮杈冧竴涓嬪氨鍙互浜?jiǎn)銆?/p>

13.

緇х畫浠庡熬閮ㄥ紑濮嬫瘮杈冿紝"P"涓?E"涓嶅尮閰嶏紝鍥犳"P"鏄?鍧忓瓧絎?銆傛牴鎹?鍧忓瓧絎﹁鍒?錛屽悗縐?6 - 4 = 2浣嶃?/p>

14.

浠庡熬閮ㄥ紑濮嬮愪綅姣旇緝錛屽彂鐜板叏閮ㄥ尮閰嶏紝浜庢槸鎼滅儲(chǔ)緇撴潫銆傚鏋滆繕瑕佺戶緇煡鎵撅紙鍗蟲壘鍑哄叏閮ㄥ尮閰嶏級(jí)錛屽垯鏍規(guī)嵁"濂藉悗緙瑙勫垯"錛屽悗縐?6 - 0 = 6浣嶏紝鍗沖ご閮ㄧ殑"E"縐誨埌灝鵑儴鐨?E"鐨勪綅緗?/p>

]]>
[杞琞瀛楃涓插尮閰嶇殑KMP綆楁硶http://www.shnenglu.com/noflybird/archive/2014/03/06/206079.html涓嶄細(xì)椋炵殑楦?/dc:creator>涓嶄細(xì)椋炵殑楦?/author>Thu, 06 Mar 2014 13:46:00 GMThttp://www.shnenglu.com/noflybird/archive/2014/03/06/206079.htmlhttp://www.shnenglu.com/noflybird/comments/206079.htmlhttp://www.shnenglu.com/noflybird/archive/2014/03/06/206079.html#Feedback0http://www.shnenglu.com/noflybird/comments/commentRss/206079.htmlhttp://www.shnenglu.com/noflybird/services/trackbacks/206079.html瀛楃涓插尮閰?/a>鏄綆楁満鐨勫熀鏈換鍔′箣涓銆?/p>

涓句緥鏉ヨ錛屾湁涓涓瓧絎︿覆"BBC ABCDAB ABCDABCDABDE"錛屾垜鎯崇煡閬擄紝閲岄潰鏄惁鍖呭惈鍙︿竴涓瓧絎︿覆"ABCDABD"錛?/p>

璁稿綆楁硶鍙互瀹屾垚榪欎釜浠誨姟錛?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">Knuth-Morris-Pratt綆楁硶錛堢畝縐癒MP錛夋槸鏈甯哥敤鐨勪箣涓銆傚畠浠ヤ笁涓彂鏄庤呭懡鍚嶏紝璧峰ご鐨勯偅涓狵灝辨槸钁楀悕縐戝瀹禗onald Knuth銆?/p>

榪欑綆楁硶涓嶅お瀹規(guī)槗鐞嗚В錛岀綉涓婃湁寰堝瑙i噴錛屼絾璇昏搗鏉ラ兘寰堣垂鍔層傜洿鍒拌鍒?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">Jake Boxer鐨勬枃绔狅紝鎴戞墠鐪熸鐞嗚В榪欑綆楁硶銆備笅闈紝鎴戠敤鑷繁鐨勮璦錛岃瘯鍥懼啓涓綃囨瘮杈冨ソ鎳傜殑KMP綆楁硶瑙i噴銆?/p>

1.

棣栧厛錛屽瓧絎︿覆"BBC ABCDAB ABCDABCDABDE"鐨勭涓涓瓧絎︿笌鎼滅儲(chǔ)璇?ABCDABD"鐨勭涓涓瓧絎︼紝榪涜姣旇緝銆傚洜涓築涓嶢涓嶅尮閰嶏紝鎵浠ユ悳绱㈣瘝鍚庣Щ涓浣嶃?/p>

2.

鍥犱負(fù)B涓嶢涓嶅尮閰嶏紝鎼滅儲(chǔ)璇嶅啀寰鍚庣Щ銆?/p>

3.

灝辮繖鏍鳳紝鐩村埌瀛楃涓叉湁涓涓瓧絎︼紝涓庢悳绱㈣瘝鐨勭涓涓瓧絎︾浉鍚屼負(fù)姝€?/p>

4.

鎺ョ潃姣旇緝瀛楃涓插拰鎼滅儲(chǔ)璇嶇殑涓嬩竴涓瓧絎︼紝榪樻槸鐩稿悓銆?/p>

5.

鐩村埌瀛楃涓叉湁涓涓瓧絎︼紝涓庢悳绱㈣瘝瀵瑰簲鐨勫瓧絎︿笉鐩稿悓涓烘銆?/p>

6.

榪欐椂錛屾渶鑷劧鐨勫弽搴旀槸錛屽皢鎼滅儲(chǔ)璇嶆暣涓悗縐諱竴浣嶏紝鍐嶄粠澶撮愪釜姣旇緝銆傝繖鏍峰仛铏界劧鍙錛屼絾鏄晥鐜囧緢宸紝鍥犱負(fù)浣犺鎶?鎼滅儲(chǔ)浣嶇疆"縐誨埌宸茬粡姣旇緝榪囩殑浣嶇疆錛岄噸姣斾竴閬嶃?/p>

7.

涓涓熀鏈簨瀹炴槸錛屽綋絀烘牸涓嶥涓嶅尮閰嶆椂錛屼綘鍏跺疄鐭ラ亾鍓嶉潰鍏釜瀛楃鏄?ABCDAB"銆侹MP綆楁硶鐨勬兂娉曟槸錛岃娉曞埄鐢ㄨ繖涓凡鐭ヤ俊鎭紝涓嶈鎶?鎼滅儲(chǔ)浣嶇疆"縐誨洖宸茬粡姣旇緝榪囩殑浣嶇疆錛岀戶緇妸瀹冨悜鍚庣Щ錛岃繖鏍峰氨鎻愰珮浜?jiǎn)鏁堢巼銆?/p>

8.

鎬庝箞鍋氬埌榪欎竴鐐瑰憿錛熷彲浠ラ拡瀵規(guī)悳绱㈣瘝錛岀畻鍑轟竴寮犮婇儴鍒嗗尮閰嶈〃銆嬶紙Partial Match Table錛夈傝繖寮犺〃鏄浣曚駭鐢熺殑錛屽悗闈㈠啀浠嬬粛錛岃繖閲屽彧瑕佷細(xì)鐢ㄥ氨鍙互浜?jiǎn)銆?/p>

9.

宸茬煡絀烘牸涓嶥涓嶅尮閰嶆椂錛屽墠闈㈠叚涓瓧絎?ABCDAB"鏄尮閰嶇殑銆傛煡琛ㄥ彲鐭ワ紝鏈鍚庝竴涓尮閰嶅瓧絎瀵瑰簲鐨?閮ㄥ垎鍖歸厤鍊?涓?錛屽洜姝ゆ寜鐓т笅闈㈢殑鍏紡綆楀嚭鍚戝悗縐誨姩鐨勪綅鏁幫細(xì)

銆銆縐誨姩浣嶆暟 = 宸插尮閰嶇殑瀛楃鏁?- 瀵瑰簲鐨勯儴鍒嗗尮閰嶅?/p>

鍥犱負(fù) 6 - 2 絳変簬4錛屾墍浠ュ皢鎼滅儲(chǔ)璇嶅悜鍚庣Щ鍔?浣嶃?/p>

10.

鍥犱負(fù)絀烘牸涓庯跡涓嶅尮閰嶏紝鎼滅儲(chǔ)璇嶈繕瑕佺戶緇線鍚庣Щ銆傝繖鏃訛紝宸插尮閰嶇殑瀛楃鏁頒負(fù)2錛?AB"錛夛紝瀵瑰簲鐨?閮ㄥ垎鍖歸厤鍊?涓?銆傛墍浠ワ紝縐誨姩浣嶆暟 = 2 - 0錛岀粨鏋滀負(fù) 2錛屼簬鏄皢鎼滅儲(chǔ)璇嶅悜鍚庣Щ2浣嶃?/p>

11.

鍥犱負(fù)絀烘牸涓嶢涓嶅尮閰嶏紝緇х畫鍚庣Щ涓浣嶃?/p>

12.

閫愪綅姣旇緝錛岀洿鍒板彂鐜癈涓嶥涓嶅尮閰嶃備簬鏄紝縐誨姩浣嶆暟 = 6 - 2錛岀戶緇皢鎼滅儲(chǔ)璇嶅悜鍚庣Щ鍔?浣嶃?/p>

13.

閫愪綅姣旇緝錛岀洿鍒版悳绱㈣瘝鐨勬渶鍚庝竴浣嶏紝鍙戠幇瀹屽叏鍖歸厤錛屼簬鏄悳绱㈠畬鎴愩傚鏋滆繕瑕佺戶緇悳绱紙鍗蟲壘鍑哄叏閮ㄥ尮閰嶏級(jí)錛岀Щ鍔ㄤ綅鏁?= 7 - 0錛屽啀灝嗘悳绱㈣瘝鍚戝悗縐誨姩7浣嶏紝榪欓噷灝變笉鍐嶉噸澶嶄簡(jiǎn)銆?/p>

14.

涓嬮潰浠嬬粛銆婇儴鍒嗗尮閰嶈〃銆嬫槸濡備綍浜х敓鐨勩?/p>

棣栧厛錛岃浜?jiǎn)瑙d袱涓蹇靛Q?鍓嶇紑"鍜?鍚庣紑"銆?"鍓嶇紑"鎸囬櫎浜?jiǎn)鏈鍚庝竴涓瓧絎︿互澶栵紝涓涓瓧絎︿覆鐨勫叏閮ㄥご閮ㄧ粍鍚堬紱"鍚庣紑"鎸囬櫎浜?jiǎn)绗竴涓瓧絎︿互澶栵紝涓涓瓧絎︿覆鐨勫叏閮ㄥ熬閮ㄧ粍鍚堛?/p>

15.

"閮ㄥ垎鍖歸厤鍊?灝辨槸"鍓嶇紑"鍜?鍚庣紑"鐨勬渶闀跨殑鍏辨湁鍏冪礌鐨勯暱搴︺備互"ABCDABD"涓轟緥錛?/p>

銆銆錛嶃"A"鐨勫墠緙鍜屽悗緙閮戒負(fù)絀洪泦錛屽叡鏈夊厓绱犵殑闀垮害涓?錛?/p>

銆銆錛嶃"AB"鐨勫墠緙涓篬A]錛屽悗緙涓篬B]錛屽叡鏈夊厓绱犵殑闀垮害涓?錛?/p>

銆銆錛嶃"ABC"鐨勫墠緙涓篬A, AB]錛屽悗緙涓篬BC, C]錛屽叡鏈夊厓绱犵殑闀垮害0錛?/p>

銆銆錛嶃"ABCD"鐨勫墠緙涓篬A, AB, ABC]錛屽悗緙涓篬BCD, CD, D]錛屽叡鏈夊厓绱犵殑闀垮害涓?錛?/p>

銆銆錛嶃"ABCDA"鐨勫墠緙涓篬A, AB, ABC, ABCD]錛屽悗緙涓篬BCDA, CDA, DA, A]錛屽叡鏈夊厓绱犱負(fù)"A"錛岄暱搴︿負(fù)1錛?/p>

銆銆錛嶃"ABCDAB"鐨勫墠緙涓篬A, AB, ABC, ABCD, ABCDA]錛屽悗緙涓篬BCDAB, CDAB, DAB, AB, B]錛屽叡鏈夊厓绱犱負(fù)"AB"錛岄暱搴︿負(fù)2錛?/p>

銆銆錛嶃"ABCDABD"鐨勫墠緙涓篬A, AB, ABC, ABCD, ABCDA, ABCDAB]錛屽悗緙涓篬BCDABD, CDABD, DABD, ABD, BD, D]錛屽叡鏈夊厓绱犵殑闀垮害涓?銆?/p>

16.

"閮ㄥ垎鍖歸厤"鐨勫疄璐ㄦ槸錛屾湁鏃跺欙紝瀛楃涓插ご閮ㄥ拰灝鵑儴浼?xì)鏈夐噸澶嶃傛瘮濡傦紝"ABCDAB"涔嬩腑鏈変袱涓?AB"錛岄偅涔堝畠鐨?閮ㄥ垎鍖歸厤鍊?灝辨槸2錛?AB"鐨勯暱搴︼級(jí)銆傛悳绱㈣瘝縐誨姩鐨勬椂鍊欙紝絎竴涓?AB"鍚戝悗縐誨姩4浣嶏紙瀛楃涓查暱搴?閮ㄥ垎鍖歸厤鍊鹼級(jí)錛屽氨鍙互鏉ュ埌絎簩涓?AB"鐨勪綅緗?/p>

]]>
[杞琞榪涚▼涓庣嚎紼嬬殑涓涓畝鍗曡В閲?/title><link>http://www.shnenglu.com/noflybird/archive/2014/03/06/206078.html</link><dc:creator>涓嶄細(xì)椋炵殑楦?/dc:creator><author>涓嶄細(xì)椋炵殑楦?/author><pubDate>Thu, 06 Mar 2014 13:44:00 GMT</pubDate><guid>http://www.shnenglu.com/noflybird/archive/2014/03/06/206078.html</guid><wfw:comment>http://www.shnenglu.com/noflybird/comments/206078.html</wfw:comment><comments>http://www.shnenglu.com/noflybird/archive/2014/03/06/206078.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/noflybird/comments/commentRss/206078.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/noflybird/services/trackbacks/206078.html</trackback:ping><description><![CDATA[<p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">榪涚▼</a>錛坧rocess錛夊拰<a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">綰跨▼</a>錛坱hread錛夋槸鎿嶄綔緋葷粺鐨勫熀鏈蹇碉紝浣嗘槸瀹冧滑姣旇緝鎶借薄錛屼笉瀹規(guī)槗鎺屾彙銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">鏈榪戯紝鎴戣鍒頒竴綃?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">鏉愭枡</a>錛屽彂鐜版湁涓涓緢濂界殑綾繪瘮錛屽彲浠ユ妸瀹冧滑瑙i噴鍦版竻鏅版槗鎳傘?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">1.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042401.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">璁$畻鏈虹殑鏍稿績(jī)鏄疌PU錛屽畠鎵挎媴浜?jiǎn)鎵鏈夌殑璁$畻浠誨姟銆傚畠?yōu)鍍忎竴搴у伐鍘傦紝鏃跺埢鍦ㄨ繍琛屻?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">2.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042402.png" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">鍋囧畾宸ュ巶鐨勭數(shù)鍔涙湁闄愶紝涓嬈″彧鑳戒緵緇欎竴涓濺闂翠嬌鐢ㄣ備篃灝辨槸璇達(dá)紝涓涓濺闂村紑宸ョ殑鏃跺欙紝鍏朵粬杞﹂棿閮藉繀欏誨仠宸ャ傝儗鍚庣殑鍚箟灝辨槸錛屽崟涓狢PU涓嬈″彧鑳借繍琛屼竴涓換鍔°?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">3.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042403.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">榪涚▼灝卞ソ姣斿伐鍘傜殑杞﹂棿錛屽畠浠h〃CPU鎵鑳藉鐞嗙殑鍗曚釜浠誨姟銆備換涓鏃跺埢錛孋PU鎬繪槸榪愯涓涓繘紼嬶紝鍏朵粬榪涚▼澶勪簬闈炶繍琛岀姸鎬併?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">4.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042404.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">涓涓濺闂撮噷錛屽彲浠ユ湁寰堝宸ヤ漢銆備粬浠崗鍚屽畬鎴愪竴涓換鍔°?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">5.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042405.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">綰跨▼灝卞ソ姣旇濺闂撮噷鐨勫伐浜恒備竴涓繘紼嬪彲浠ュ寘鎷涓嚎紼嬨?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">6.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042406.png" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">杞﹂棿鐨勭┖闂存槸宸ヤ漢浠叡浜殑錛屾瘮濡傝澶氭埧闂存槸姣忎釜宸ヤ漢閮藉彲浠ヨ繘鍑虹殑銆傝繖璞″緛涓涓繘紼嬬殑鍐呭瓨絀洪棿鏄叡浜殑錛屾瘡涓嚎紼嬮兘鍙互浣跨敤榪欎簺鍏變韓鍐呭瓨銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">7.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042407.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">鍙槸錛屾瘡闂存埧闂寸殑澶у皬涓嶅悓錛屾湁浜涙埧闂存渶澶氬彧鑳藉綰充竴涓漢錛屾瘮濡傚帟鎵銆傞噷闈㈡湁浜虹殑鏃跺欙紝鍏朵粬浜哄氨涓嶈兘榪涘幓浜?jiǎn)銆傝繖浠h〃涓涓嚎紼嬩嬌鐢ㄦ煇浜涘叡浜唴瀛樻椂錛屽叾浠栫嚎紼嬪繀欏葷瓑瀹冪粨鏉燂紝鎵嶈兘浣跨敤榪欎竴鍧楀唴瀛樸?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">8.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042408.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">涓涓槻姝粬浜鴻繘鍏ョ殑綆鍗曟柟娉曪紝灝辨槸闂ㄥ彛鍔犱竴鎶婇攣銆傚厛鍒扮殑浜洪攣涓婇棬錛屽悗鍒扮殑浜虹湅鍒頒笂閿侊紝灝卞湪闂ㄥ彛鎺掗槦錛岀瓑閿佹墦寮鍐嶈繘鍘匯傝繖灝卞彨<a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">"浜掓枼閿?</a>錛圡utual exclusion錛岀緝鍐?Mutex錛夛紝闃叉澶氫釜綰跨▼鍚屾椂璇誨啓鏌愪竴鍧楀唴瀛樺尯鍩熴?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">9.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042409.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">榪樻湁浜涙埧闂達(dá)紝鍙互鍚屾椂瀹圭撼n涓漢錛屾瘮濡傚帹鎴褲備篃灝辨槸璇達(dá)紝濡傛灉浜烘暟澶т簬n錛屽鍑烘潵鐨勪漢鍙兘鍦ㄥ闈㈢瓑鐫銆傝繖濂芥瘮鏌愪簺鍐呭瓨鍖哄煙錛屽彧鑳戒緵緇欏浐瀹氭暟鐩殑綰跨▼浣跨敤銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">10.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042410.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">榪欐椂鐨勮В鍐蟲柟娉曪紝灝辨槸鍦ㄩ棬鍙f寕n鎶婇挜鍖欍傝繘鍘葷殑浜哄氨鍙栦竴鎶婇挜鍖欙紝鍑烘潵鏃跺啀鎶婇挜鍖欐寕鍥炲師澶勩傚悗鍒扮殑浜哄彂鐜伴挜鍖欐灦絀轟簡(jiǎn)錛屽氨鐭ラ亾蹇呴』鍦ㄩ棬鍙f帓闃熺瓑鐫浜?jiǎn)銆傝繖縐嶅仛娉曞彨鍋?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">"淇″彿閲?</a>錛圫emaphore錛夛紝鐢ㄦ潵淇濊瘉澶氫釜綰跨▼涓嶄細(xì)浜掔浉鍐茬獊銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">涓嶉毦鐪嬪嚭錛宮utex鏄痵emaphore鐨勪竴縐嶇壒孌婃儏鍐碉紙n=1鏃訛級(jí)銆備篃灝辨槸璇達(dá)紝瀹屽叏鍙互鐢ㄥ悗鑰呮浛浠e墠鑰呫備絾鏄紝鍥犱負(fù)mutex杈冧負(fù)綆鍗曪紝涓旀晥鐜囬珮錛屾墍浠ュ湪蹇呴』淇濊瘉璧勬簮鐙崰鐨勬儏鍐典笅錛岃繕鏄噰鐢ㄨ繖縐嶈璁°?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">11.</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201304/bg2013042411.png" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">鎿嶄綔緋葷粺鐨勮璁★紝鍥犳鍙互褰掔粨涓轟笁鐐癸細(xì)</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">錛?錛変互澶氳繘紼嬪艦寮忥紝鍏佽澶氫釜浠誨姟鍚屾椂榪愯錛?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">錛?錛変互澶氱嚎紼嬪艦寮忥紝鍏佽鍗曚釜浠誨姟鍒嗘垚涓嶅悓鐨勯儴鍒嗚繍琛岋紱</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">錛?錛夋彁渚涘崗璋冩満鍒訛紝涓鏂歸潰闃叉榪涚▼涔嬮棿鍜岀嚎紼嬩箣闂翠駭鐢熷啿紿侊紝鍙︿竴鏂歸潰鍏佽榪涚▼涔嬮棿鍜岀嚎紼嬩箣闂村叡浜祫婧愩?/p><img src ="http://www.shnenglu.com/noflybird/aggbug/206078.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/noflybird/" target="_blank">涓嶄細(xì)椋炵殑楦?/a> 2014-03-06 21:44 <a href="http://www.shnenglu.com/noflybird/archive/2014/03/06/206078.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞琞鐩鎬技鍥劇墖鎼滅儲(chǔ)鐨勫師鐞嗭紙浜岋級(jí)http://www.shnenglu.com/noflybird/archive/2014/03/06/206077.html涓嶄細(xì)椋炵殑楦?/dc:creator>涓嶄細(xì)椋炵殑楦?/author>Thu, 06 Mar 2014 13:42:00 GMThttp://www.shnenglu.com/noflybird/archive/2014/03/06/206077.htmlhttp://www.shnenglu.com/noflybird/comments/206077.htmlhttp://www.shnenglu.com/noflybird/archive/2014/03/06/206077.html#Feedback0http://www.shnenglu.com/noflybird/comments/commentRss/206077.htmlhttp://www.shnenglu.com/noflybird/services/trackbacks/206077.html鏄ㄥぉ錛屾垜鍦?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">isnowfy鐨勭綉绔欑湅鍒幫紝榪樻湁鍏朵粬涓ょ鏂規(guī)硶涔熷緢綆鍗曪紝榪欓噷鍋氫竴浜涚瑪璁般?/p>

涓銆侀鑹插垎甯冩硶

姣忓紶鍥劇墖閮藉彲浠ョ敓鎴?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">棰滆壊鍒嗗竷鐨勭洿鏂瑰浘錛坈olor histogram錛夈傚鏋滀袱寮犲浘鐗囩殑鐩存柟鍥懼緢鎺ヨ繎錛屽氨鍙互璁や負(fù)瀹冧滑寰堢浉浼箋?/p>

浠諱綍涓縐嶉鑹查兘鏄敱綰㈢豢钃濅笁鍘熻壊錛圧GB錛夋瀯鎴愮殑錛屾墍浠ヤ笂鍥懼叡鏈?寮犵洿鏂瑰浘錛堜笁鍘熻壊鐩存柟鍥?+ 鏈鍚庡悎鎴愮殑鐩存柟鍥撅級(jí)銆?/p>

濡傛灉姣忕鍘熻壊閮藉彲浠ュ彇256涓鹼紝閭d箞鏁翠釜棰滆壊絀洪棿鍏辨湁1600涓囩棰滆壊錛?56鐨勪笁嬈℃柟錛夈傞拡瀵硅繖1600涓囩棰滆壊姣旇緝鐩存柟鍥撅紝璁$畻閲忓疄鍦ㄥお澶т簡(jiǎn)錛屽洜姝ら渶瑕侀噰鐢ㄧ畝鍖栨柟娉曘傚彲浠ュ皢0锝?55鍒嗘垚鍥涗釜鍖猴細(xì)0锝?3涓虹0鍖猴紝64锝?27涓虹1鍖猴紝128锝?91涓虹2鍖猴紝192锝?55涓虹3鍖恒傝繖鎰忓懗鐫綰㈢豢钃濆垎鍒湁4涓尯錛屾誨叡鍙互鏋勬垚64縐嶇粍鍚堬紙4鐨?嬈℃柟錛夈?/p>

浠諱綍涓縐嶉鑹插繀鐒跺睘浜庤繖64縐嶇粍鍚堜腑鐨勪竴縐嶏紝榪欐牱灝卞彲浠ョ粺璁℃瘡涓縐嶇粍鍚堝寘鍚殑鍍忕礌鏁伴噺銆?/p>

涓婂浘鏄煇寮犲浘鐗囩殑棰滆壊鍒嗗竷琛紝灝嗚〃涓渶鍚庝竴鏍忔彁鍙栧嚭鏉ワ紝緇勬垚涓涓?4緇村悜閲?7414, 230, 0, 0, 8, ..., 109, 0, 0, 3415, 53929)銆傝繖涓悜閲忓氨鏄繖寮犲浘鐗囩殑鐗瑰緛鍊兼垨鑰呭彨"鎸囩汗"銆?/p>

浜庢槸錛屽鎵劇浉浼煎浘鐗囧氨鍙樻垚浜?jiǎn)鎵惧囖Z笌鍏舵渶鐩鎬技鐨勫悜閲忋傝繖鍙互鐢?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">鐨皵閫婄浉鍏崇郴鏁?/a>鎴栬?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">浣欏雞鐩鎬技搴?/a>綆楀嚭銆?/p>

浜屻佸唴瀹圭壒寰佹硶

闄や簡(jiǎn)棰滆壊鏋勬垚錛岃繕鍙互浠庢瘮杈冨浘鐗囧唴瀹圭殑鐩鎬技鎬у叆鎵嬨?/p>

棣栧厛錛屽皢鍘熷浘杞垚涓寮犺緝?yōu)畯鐨勭伆搴﹀泟囧Q屽亣瀹氫負(fù)50x50鍍忕礌銆傜劧鍚庯紝紜畾涓涓槇鍊鹼紝灝嗙伆搴﹀浘鐗囪漿鎴愰粦鐧藉浘鐗囥?/p>

  

濡傛灉涓ゅ紶鍥劇墖寰堢浉浼鹼紝瀹冧滑鐨勯粦鐧借疆寤撳簲璇ユ槸鐩歌繎鐨勩備簬鏄紝闂灝卞彉鎴愪簡(jiǎn)錛岀涓姝ュ浣曠‘瀹氫竴涓悎鐞嗙殑闃堝鹼紝姝g‘鍛堢幇鐓х墖涓殑杞粨錛?/p>

鏄劇劧錛屽墠鏅壊涓庤儗鏅壊鍙嶅樊瓚婂ぇ錛岃疆寤撳氨瓚婃槑鏄俱傝繖鎰忓懗鐫錛屽鏋滄垜浠壘鍒頒竴涓鹼紝鍙互浣垮緱鍓嶆櫙鑹插拰鑳屾櫙鑹插悇鑷殑"綾誨唴宸紓鏈灝?錛坢inimizing the intra-class variance錛夛紝鎴栬?綾婚棿宸紓鏈澶?錛坢aximizing the inter-class variance錛夛紝閭d箞榪欎釜鍊煎氨鏄悊鎯崇殑闃堝箋?/p>

1979騫達(dá)紝鏃ユ湰瀛﹁呭ぇ媧ュ睍涔嬭瘉鏄庝簡(jiǎn)錛?綾誨唴宸紓鏈灝?涓?綾婚棿宸紓鏈澶?鏄悓涓浠朵簨錛屽嵆瀵瑰簲鍚屼竴涓槇鍊箋備粬鎻愬嚭涓縐嶇畝鍗曠殑綆楁硶錛屽彲浠ユ眰鍑?guó)櫩欎釜闃堝鹼紝榪欒縐頒負(fù)"澶ф觸娉?錛圤tsu's method錛夈備笅闈㈠氨鏄粬鐨勮綆楁柟娉曘?/p>

鍋囧畾涓寮犲浘鐗囧叡鏈塶涓儚绱狅紝鍏朵腑鐏板害鍊煎皬浜庨槇鍊肩殑鍍忕礌涓?n1 涓紝澶т簬絳変簬闃堝肩殑鍍忕礌涓?n2 涓紙 n1 + n2 = n 錛夈倃1 鍜?w2 琛ㄧず榪欎袱縐嶅儚绱犲悇鑷殑姣旈噸銆?/p>

銆銆w1 = n1 / n

銆銆w2 = n2 / n

鍐嶅亣瀹氾紝鎵鏈夌伆搴﹀煎皬浜庨槇鍊肩殑鍍忕礌鐨勫鉤鍧囧煎拰鏂瑰樊鍒嗗埆涓?μ1 鍜?σ1錛屾墍鏈夌伆搴﹀煎ぇ浜庣瓑浜庨槇鍊肩殑鍍忕礌鐨勫鉤鍧囧煎拰鏂瑰樊鍒嗗埆涓?μ2 鍜?σ2銆備簬鏄紝鍙互寰楀埌

銆銆綾誨唴宸紓 = w1(σ1鐨勫鉤鏂? + w2(σ2鐨勫鉤鏂?

銆銆綾婚棿宸紓 = w1w2(μ1-μ2)^2

鍙互璇佹槑錛岃繖涓や釜寮忓瓙鏄瓑浠風(fēng)殑錛氬緱鍒?綾誨唴宸紓"鐨勬渶灝忓鹼紝絳夊悓浜庡緱鍒?綾婚棿宸紓"鐨勬渶澶у箋備笉榪囷紝浠庤綆楅毦搴︾湅錛屽悗鑰呯殑璁$畻瑕佸鏄撲竴浜涖?/p>

涓嬩竴姝ョ敤"絀蜂婦娉?錛屽皢闃堝間粠鐏板害鐨勬渶浣庡煎埌鏈楂樺鹼紝渚濇鍙栦竴閬嶏紝鍒嗗埆浠e叆涓婇潰鐨勭畻寮忋備嬌寰?綾誨唴宸紓鏈灝?鎴?綾婚棿宸紓鏈澶?鐨勯偅涓鹼紝灝辨槸鏈緇堢殑闃堝箋傚叿浣撶殑瀹炰緥鍜孞ava綆楁硶錛岃鐪?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">榪欓噷銆?/p>

鏈変簡(jiǎn)50x50鍍忕礌鐨勯粦鐧界緝鐣ュ浘錛屽氨絳変簬鏈変簡(jiǎn)涓涓?0x50鐨?-1鐭╅樀銆傜煩闃電殑姣忎釜鍊煎搴斿師鍥劇殑涓涓儚绱狅紝0琛ㄧず榛戣壊錛?琛ㄧず鐧借壊銆傝繖涓煩闃靛氨鏄竴寮犲浘鐗囩殑鐗瑰緛鐭╅樀銆?/p>

涓や釜鐗瑰緛鐭╅樀鐨勪笉鍚屼箣澶勮秺灝戯紝灝變唬琛ㄤ袱寮犲浘鐗囪秺鐩鎬技銆傝繖鍙互鐢?寮傛垨榪愮畻"瀹炵幇錛堝嵆涓や釜鍊間箣涓彧鏈変竴涓負(fù)1錛屽垯榪愮畻緇撴灉涓?錛屽惁鍒欒繍綆楃粨鏋滀負(fù)0錛夈傚涓嶅悓鍥劇墖鐨勭壒寰佺煩闃佃繘琛?寮傛垨榪愮畻"錛岀粨鏋滀腑鐨?瓚婂皯錛屽氨鏄秺鐩鎬技鐨勫浘鐗囥?/p>

]]>
[杞琞鐩鎬技鍥劇墖鎼滅儲(chǔ)鐨勫師鐞嗭紙涓錛?/title><link>http://www.shnenglu.com/noflybird/archive/2014/03/06/206076.html</link><dc:creator>涓嶄細(xì)椋炵殑楦?/dc:creator><author>涓嶄細(xì)椋炵殑楦?/author><pubDate>Thu, 06 Mar 2014 13:42:00 GMT</pubDate><guid>http://www.shnenglu.com/noflybird/archive/2014/03/06/206076.html</guid><wfw:comment>http://www.shnenglu.com/noflybird/comments/206076.html</wfw:comment><comments>http://www.shnenglu.com/noflybird/archive/2014/03/06/206076.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/noflybird/comments/commentRss/206076.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/noflybird/services/trackbacks/206076.html</trackback:ping><description><![CDATA[<p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">涓婁釜鏈堬紝Google鎶?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">"鐩鎬技鍥劇墖鎼滅儲(chǔ)"</a>姝e紡鏀句笂浜?jiǎn)棣枡妩c(diǎn)?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">浣犲彲浠ョ敤涓寮犲浘鐗囷紝鎼滅儲(chǔ)浜掕仈緗戜笂鎵鏈変笌瀹冪浉浼肩殑鍥劇墖銆傜偣鍑?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">鎼滅儲(chǔ)妗?/a>涓収鐩告満鐨勫浘鏍囥?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;"><img src="http://image.beekka.com/blog/201107/bg2011072101.png" style="margin: 0px; padding: 0px; list-style-type: none; text-decoration: none; border: 0.7em solid #e0dfcc; color: #111111; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></a></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">涓涓璇濇浼?xì)鍑虹幇銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201107/bg2011072102.png" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">浣犺緭鍏ョ綉鐗囩殑緗戝潃錛屾垨鑰呯洿鎺ヤ笂浼犲浘鐗囷紝Google灝變細(xì)鎵懼嚭涓庡叾鐩鎬技鐨勫浘鐗囥備笅闈㈣繖寮犲浘鐗囨槸緹庡浗濂蟲紨鍛楢lyson Hannigan銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201107/bg2011072103.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">涓婁紶鍚庯紝Google榪斿洖濡備笅緇撴灉錛?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201107/bg2011072104.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">綾諱技鐨?鐩鎬技鍥劇墖鎼滅儲(chǔ)寮曟搸"榪樻湁涓嶅皯錛?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">TinEye</a>鐢氳嚦鍙互鎵懼嚭鐓х墖鐨勬媿鎽勮儗鏅?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201107/bg2011072105.jpg" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">==========================================================</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">榪欑鎶鏈殑鍘熺悊鏄粈涔堬紵璁$畻鏈烘庝箞鐭ラ亾涓ゅ紶鍥劇墖鐩鎬技鍛紵</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">鏍規(guī)嵁<a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">Neal Krawetz</a>鍗氬+鐨勮В閲婏紝鍘熺悊闈炲父綆鍗曟槗鎳傘傛垜浠彲浠ョ敤涓涓揩閫熺畻娉曪紝灝辮揪鍒板熀鏈殑鏁堟灉銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">榪欓噷鐨勫叧閿妧鏈彨鍋?鎰熺煡鍝堝笇綆楁硶"錛圥erceptual hash algorithm錛夛紝瀹冪殑浣滅敤鏄姣忓紶鍥劇墖鐢熸垚涓涓?鎸囩汗"錛坒ingerprint錛夊瓧絎︿覆錛岀劧鍚庢瘮杈冧笉鍚屽浘鐗囩殑鎸囩汗銆傜粨鏋滆秺鎺ヨ繎錛屽氨璇存槑鍥劇墖瓚婄浉浼箋?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">涓嬮潰鏄竴涓渶綆鍗曠殑瀹炵幇錛?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><span style="font-weight: 800;">絎竴姝ワ紝緙╁皬灝哄銆?/span></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">灝嗗浘鐗囩緝?yōu)畯鍒?x8鐨勫昂瀵革紝鎬誨叡64涓儚绱犮傝繖涓姝ョ殑浣滅敤鏄幓闄ゅ浘鐗囩殑緇嗚妭錛屽彧淇濈暀緇撴瀯銆佹槑鏆楃瓑鍩烘湰淇℃伅錛屾憭寮冧笉鍚屽昂瀵搞佹瘮渚嬪甫鏉ョ殑鍥劇墖宸紓銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201107/bg2011072107.png" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /> <img src="http://image.beekka.com/blog/201107/bg2011072107.png" width="64" height="64" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><span style="font-weight: 800;">絎簩姝ワ紝綆鍖栬壊褰┿?/span></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">灝嗙緝?yōu)畯鍚庣殑鍥剧墖锛岃浆湄?fù)64綰х伆搴︺備篃灝辨槸璇達(dá)紝鎵鏈夊儚绱犵偣鎬誨叡鍙湁64縐嶉鑹層?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><span style="font-weight: 800;">絎笁姝ワ紝璁$畻騫沖潎鍊箋?/span></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">璁$畻鎵鏈?4涓儚绱犵殑鐏板害騫沖潎鍊箋?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><span style="font-weight: 800;">絎洓姝ワ紝姣旇緝鍍忕礌鐨勭伆搴︺?/span></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">灝嗘瘡涓儚绱犵殑鐏板害錛屼笌騫沖潎鍊艱繘琛屾瘮杈冦傚ぇ浜庢垨絳変簬騫沖潎鍊鹼紝璁頒負(fù)1錛涘皬浜庡鉤鍧囧鹼紝璁頒負(fù)0銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><span style="font-weight: 800;">絎簲姝ワ紝璁$畻鍝堝笇鍊箋?/span></p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">灝嗕笂涓姝ョ殑姣旇緝緇撴灉錛岀粍鍚堝湪涓璧鳳紝灝辨瀯鎴愪簡(jiǎn)涓涓?4浣嶇殑鏁存暟錛岃繖灝辨槸榪欏紶鍥劇墖鐨勬寚綰廣傜粍鍚堢殑嬈″簭騫朵笉閲嶈錛屽彧瑕佷繚璇佹墍鏈夊浘鐗囬兘閲囩敤鍚屾牱嬈″簭灝辮浜?jiǎn)銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;"><img src="http://image.beekka.com/blog/201107/bg2011072109.png" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /> = <img src="http://image.beekka.com/blog/201107/bg2011072109.png" width="64" height="64" style="margin: 0px; padding: 0px; list-style-type: none; border: 0.7em solid #e0dfcc; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; border-bottom-right-radius: 0.7em; border-bottom-left-radius: 0.7em;" alt="" /> = 8f373714acfcf4d0</p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">寰楀埌鎸囩汗浠ュ悗錛屽氨鍙互瀵規(guī)瘮涓嶅悓鐨勫浘鐗囷紝鐪嬬湅64浣嶄腑鏈夊灝戜綅鏄笉涓鏍風(fēng)殑銆傚湪鐞嗚涓婏紝榪欑瓑鍚屼簬璁$畻<a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">"姹夋槑璺濈"</a>錛圚amming distance錛夈傚鏋滀笉鐩稿悓鐨勬暟鎹綅涓嶈秴榪?錛屽氨璇存槑涓ゅ紶鍥劇墖寰堢浉浼鹼紱濡傛灉澶т簬10錛屽氨璇存槑榪欐槸涓ゅ紶涓嶅悓鐨勫浘鐗囥?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">鍏蜂綋鐨勪唬鐮佸疄鐜幫紝鍙互鍙傝<a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">Wote</a>鐢╬ython璇█鍐欑殑<a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">imgHash.py</a>銆備唬鐮佸緢鐭紝鍙湁53琛屻備嬌鐢ㄧ殑鏃跺欙紝絎竴涓弬鏁版槸鍩哄噯鍥劇墖錛岀浜屼釜鍙傛暟鏄敤鏉ユ瘮杈冪殑鍏朵粬鍥劇墖鎵鍦ㄧ殑鐩綍錛岃繑鍥炵粨鏋滄槸涓ゅ紶鍥劇墖涔嬮棿涓嶇浉鍚岀殑鏁版嵁浣嶆暟閲忥紙姹夋槑璺濈錛夈?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">榪欑綆楁硶鐨勪紭鐐規(guī)槸綆鍗曞揩閫燂紝涓嶅彈鍥劇墖澶у皬緙╂斁鐨勫獎(jiǎng)鍝嶏紝緙虹偣鏄浘鐗囩殑鍐呭涓嶈兘鍙樻洿銆傚鏋滃湪鍥劇墖涓婂姞鍑犱釜鏂囧瓧錛屽畠?yōu)p涓嶅嚭鏉ヤ簡(jiǎn)銆傛墍浠ワ紝瀹冪殑鏈浣崇敤閫旀槸鏍規(guī)嵁緙╃暐鍥撅紝鎵懼嚭鍘熷浘銆?/p><p style="margin: 1em 0px 0px 0.8em; padding: 0px; list-style-type: none; border: none; color: #111111; font-size: 1.6em; line-height: 28px; font-family: Georgia, serif; word-spacing: 2px; background-color: #f5f5d5;">瀹為檯搴旂敤涓紝寰寰閲囩敤鏇村己澶х殑<a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">pHash</a>綆楁硶鍜?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">SIFT</a>綆楁硶錛屽畠浠兘澶熻瘑鍒浘鐗囩殑鍙樺艦銆傚彧瑕佸彉褰㈢▼搴︿笉瓚呰繃25%錛屽畠浠氨鑳藉尮閰嶅師鍥俱傝繖浜涚畻娉曡櫧鐒舵洿澶嶆潅錛屼絾鏄師鐞嗕笌涓婇潰鐨勭畝渚跨畻娉曟槸涓鏍風(fēng)殑錛屽氨鏄厛灝嗗浘鐗囪漿鍖栨垚Hash瀛楃涓詫紝鐒跺悗鍐嶈繘琛屾瘮杈冦?/p><img src ="http://www.shnenglu.com/noflybird/aggbug/206076.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/noflybird/" target="_blank">涓嶄細(xì)椋炵殑楦?/a> 2014-03-06 21:42 <a href="http://www.shnenglu.com/noflybird/archive/2014/03/06/206076.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞琞TF-IDF涓庝綑寮︾浉浼兼х殑搴旂敤錛堜笁錛夛細(xì)鑷姩鎽樿http://www.shnenglu.com/noflybird/archive/2014/03/06/206075.html涓嶄細(xì)椋炵殑楦?/dc:creator>涓嶄細(xì)椋炵殑楦?/author>Thu, 06 Mar 2014 13:37:00 GMThttp://www.shnenglu.com/noflybird/archive/2014/03/06/206075.htmlhttp://www.shnenglu.com/noflybird/comments/206075.htmlhttp://www.shnenglu.com/noflybird/archive/2014/03/06/206075.html#Feedback0http://www.shnenglu.com/noflybird/comments/commentRss/206075.htmlhttp://www.shnenglu.com/noflybird/services/trackbacks/206075.html鏈夋椂鍊欙紝寰堢畝鍗曠殑鏁板鏂規(guī)硶錛屽氨鍙互瀹屾垚寰堝鏉傜殑浠誨姟銆?/p>

榪欎釜緋誨垪鐨勫墠涓ら儴鍒嗗氨鏄緢濂界殑渚嬪瓙銆備粎浠呬緷闈犵粺璁¤瘝棰戯紝灝辮兘鎵懼嚭鍏抽敭璇?/a>鍜?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">鐩鎬技鏂囩珷銆傝櫧鐒跺畠浠畻涓嶄笂鏁堟灉鏈濂界殑鏂規(guī)硶錛屼絾鑲畾鏄渶綆渚挎槗琛岀殑鏂規(guī)硶銆?/p>

浠婂ぉ錛屼緷鐒剁戶緇繖涓富棰樸傝璁哄浣曢氳繃璇嶉錛屽鏂囩珷榪涜鑷姩鎽樿錛圓utomatic summarization錛夈?/p>

濡傛灉鑳戒粠3000瀛楃殑鏂囩珷錛屾彁鐐煎嚭150瀛楃殑鎽樿錛屽氨鍙互涓鴻鑰呰妭鐪佸ぇ閲忛槄璇繪椂闂淬傜敱浜哄畬鎴愮殑鎽樿鍙?浜哄伐鎽樿"錛岀敱鏈哄櫒瀹屾垚鐨勫氨鍙?鑷姩鎽樿"銆傝澶氱綉绔欓兘闇瑕佸畠錛屾瘮濡傝鏂囩綉绔欍佹柊闂葷綉绔欍佹悳绱㈠紩鎿庣瓑絳夈?007騫達(dá)紝緹庡浗瀛﹁呯殑璁烘枃銆夾 Survey on Automatic Text Summarization銆?/a>錛圖ipanjan Das, Andre F.T. Martins, 2007錛夋葷粨浜?jiǎn)鐩墠鐨勮嚜鍔ㄦ憳瑕伣帡娉曘傚叾涓紝寰堥噸瑕佺殑涓縐嶅氨鏄瘝棰戠粺璁°?/p>

榪欑鏂規(guī)硶鏈鏃╁嚭鑷?958騫寸殑IBM鍏徃縐戝瀹?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">H.P. Luhn鐨勮鏂?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">銆奣he Automatic Creation of Literature Abstracts銆?/a>銆?/p>

Luhn鍗氬+璁や負(fù)錛屾枃绔犵殑淇℃伅閮藉寘鍚湪鍙ュ瓙涓紝鏈変簺鍙ュ瓙鍖呭惈鐨勪俊鎭錛屾湁浜涘彞瀛愬寘鍚殑淇℃伅灝戙?鑷姩鎽樿"灝辨槸瑕佹壘鍑洪偅浜涘寘鍚俊鎭渶澶氱殑鍙ュ瓙銆?/p>

鍙ュ瓙鐨勪俊鎭噺鐢?鍏抽敭璇?鏉ヨ 閲忋傚鏋滃寘鍚殑鍏抽敭璇嶈秺澶氾紝灝辮鏄庤繖涓彞瀛愯秺閲嶈銆侺uhn鎻愬嚭鐢?綈?錛坈luster錛夎〃紺哄叧閿瘝鐨勮仛闆嗐傛墍璋?綈?灝辨槸鍖呭惈澶氫釜鍏抽敭璇嶇殑鍙ュ瓙鐗囨銆?/p>

涓婂浘灝辨槸Luhn鍘熷璁烘枃鐨勬彃鍥撅紝琚璧鋒潵鐨勯儴鍒嗗氨鏄竴涓?綈?銆傚彧瑕佸叧閿瘝涔嬮棿鐨勮窛紱誨皬浜?闂ㄦ鍊?錛屽畠浠氨琚涓哄浜庡悓涓涓皣涔嬩腑銆侺uhn寤鴻鐨勯棬妲涘兼槸4鎴?銆備篃灝辨槸璇達(dá)紝濡傛灉涓や釜鍏抽敭璇嶄箣闂存湁5涓互涓婄殑鍏朵粬璇嶏紝灝卞彲浠ユ妸榪欎袱涓叧閿瘝鍒嗗湪涓や釜綈囥?/p>

涓嬩竴姝ワ紝瀵逛簬姣忎釜綈囷紝閮借綆楀畠鐨勯噸瑕佹у垎鍊箋?/p>

浠ュ墠鍥句負(fù)渚嬶紝鍏朵腑鐨勭皣涓鍏辨湁7涓瘝錛屽叾涓?涓槸鍏抽敭璇嶃傚洜姝わ紝瀹冪殑閲嶈鎬у垎鍊肩瓑浜?( 4 x 4 ) / 7 = 2.3銆?/p>

鐒跺悗錛屾壘鍑哄寘鍚垎鍊兼渶楂樼殑綈囩殑鍙ュ瓙錛堟瘮濡?鍙ワ級(jí)錛屾妸瀹冧滑鍚堝湪涓璧鳳紝灝辨瀯鎴愪簡(jiǎn)榪欑瘒鏂囩珷鐨勮嚜鍔ㄦ憳瑕併傚叿浣撳疄鐜板彲浠ュ弬瑙?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">銆奙ining the Social Web: Analyzing Data from Facebook, Twitter, LinkedIn, and Other Social Media Sites銆?/a>錛圤'Reilly, 2011錛変竴涔︾殑絎?绔狅紝python浠g爜瑙?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">github銆?/p>

Luhn鐨勮繖縐嶇畻娉曞悗鏉ヨ綆鍖栵紝涓嶅啀鍖哄垎"綈?錛屽彧鑰冭檻鍙ュ瓙鍖呭惈鐨勫叧閿瘝銆備笅闈㈠氨鏄竴涓緥瀛愶紙閲囩敤浼爜琛ㄧず錛夛紝鍙冭檻鍏抽敭璇嶉鍏堝嚭鐜扮殑鍙ュ瓙銆?/p>

銆銆Summarizer(originalText, maxSummarySize):

銆銆銆銆// 璁$畻鍘熷鏂囨湰鐨勮瘝棰戯紝鐢熸垚涓涓暟緇勶紝姣斿[(10,'the'), (3,'language'), (8,'code')...]
銆銆銆銆wordFrequences = getWordCounts(originalText)

銆銆銆銆// 榪囨護(hù)鎺夊仠鐢ㄨ瘝錛屾暟緇勫彉鎴怺(3, 'language'), (8, 'code')...]
銆銆銆銆contentWordFrequences = filtStopWords(wordFrequences)

銆銆銆銆// 鎸夌収璇嶉榪涜鎺掑簭錛屾暟緇勫彉鎴怺'code', 'language'...]
銆銆銆銆contentWordsSortbyFreq = sortByFreqThenDropFreq(contentWordFrequences)

銆銆銆銆// 灝嗘枃绔犲垎鎴愬彞瀛?br />銆銆銆銆sentences = getSentences(originalText)

銆銆銆銆// 閫夋嫨鍏抽敭璇嶉鍏堝嚭鐜扮殑鍙ュ瓙
銆銆銆銆setSummarySentences = {}
銆銆銆銆foreach word in contentWordsSortbyFreq:
銆銆銆銆銆銆firstMatchingSentence = search(sentences, word)
銆銆銆銆銆銆setSummarySentences.add(firstMatchingSentence)
銆銆銆銆銆銆if setSummarySentences.size() = maxSummarySize:
銆銆銆銆銆銆銆銆break

銆銆銆銆// 灝嗛変腑鐨勫彞瀛愭寜鐓у嚭鐜伴『搴忥紝緇勬垚鎽樿
銆銆銆銆summary = ""
銆銆銆銆foreach sentence in sentences:
銆銆銆銆銆銆if sentence in setSummarySentences:
銆銆銆銆銆銆銆銆summary = summary + " " + sentence

銆銆銆銆return summary

綾諱技鐨勭畻娉曞凡緇忚鍐欐垚浜?jiǎn)宸ュ咗P紝姣斿鍩轟簬Java鐨?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">Classifier4J搴撶殑SimpleSummariser妯″潡銆佸熀浜嶤璇█鐨?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">OTS搴撱佷互鍙?qiáng)鍩轰簬classifier4J鐨?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">C#瀹炵幇鍜?a target="_blank" style="margin: 0px; padding: 0px; list-style-type: none; border: none; color: #112233;">python瀹炵幇銆?/p>

]]>
久久精品中文騷妇女内射| 亚洲国产成人久久精品99 | 伊人久久大香线蕉亚洲五月天| 久久久久久九九99精品| 精品久久久无码中文字幕天天| 一级a性色生活片久久无| 996久久国产精品线观看| 久久99亚洲综合精品首页| 久久精品一本到99热免费| 伊人久久综合热线大杳蕉下载| 三级三级久久三级久久| 国产福利电影一区二区三区,免费久久久久久久精 | 久久精品九九亚洲精品| 久久精品国产WWW456C0M| 亚洲国产美女精品久久久久∴| 国产L精品国产亚洲区久久| 亚洲国产精品一区二区久久hs| 国产AⅤ精品一区二区三区久久| 亚洲日本va中文字幕久久| 精品乱码久久久久久夜夜嗨| 久久综合国产乱子伦精品免费| 日本国产精品久久| 国产精品免费福利久久| 久久精品国产99国产精品导航| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品国产免费| 亚洲AV日韩AV永久无码久久| 久久男人中文字幕资源站| 久久亚洲国产欧洲精品一| 午夜天堂精品久久久久| 伊人久久大香线蕉无码麻豆| 国产精品99久久久久久www| 久久精品国产99久久久| 久久久久国产精品人妻| 人妻少妇精品久久| 久久97久久97精品免视看秋霞| 2022年国产精品久久久久 | 久久无码专区国产精品发布| 久久久久九国产精品| 国产精品激情综合久久| 久久精品国产69国产精品亚洲|