锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲深夜激情,亚洲精品美女在线观看播放,久久精品国产一区二区三区免费看http://m.shnenglu.com/zliner/category/1641.html鎶鏈涔?/description>zh-cnMon, 19 May 2008 17:50:43 GMTMon, 19 May 2008 17:50:43 GMT60鐢ㄤ緥鍒嗘瀽鍩虹http://m.shnenglu.com/zliner/archive/2006/06/01/8038.html渚濇棫鐨勫崥瀹?/dc:creator>渚濇棫鐨勫崥瀹?/author>Thu, 01 Jun 2006 09:18:00 GMThttp://m.shnenglu.com/zliner/archive/2006/06/01/8038.htmlhttp://m.shnenglu.com/zliner/comments/8038.htmlhttp://m.shnenglu.com/zliner/archive/2006/06/01/8038.html#Feedback0http://m.shnenglu.com/zliner/comments/commentRss/8038.htmlhttp://m.shnenglu.com/zliner/services/trackbacks/8038.html1. 涓涓敤渚嬪彲浠ユ湁澶氫釜鍙備笌鑰咃紝騫朵笖鍙互鍚屾椂鏈夊涓弬涓庤呫?br />鐢ㄤ緥鍜屽弬涓庤呯殑鍏寵仈鍙互鏄弻鍚戠殑錛屽弬涓庤呭拰鐢ㄤ緥閮藉彲浠ュ彂璧烽氫俊銆?br />
2. 鐢ㄤ緥涔嬮棿鐨勫熀鏈叧緋繪湁錛氭硾鍖栵紝鍖呭惈鍜屾墿灞曘?br />鐢ㄤ緥A鍒癇鐨勬硾鍖栧叧緋昏〃紺篈鍜孊鏄叿浣撲笌鎶借薄鐨勫叧緋匯?br />鐢ㄤ緥A鍒癇鐨勫寘鍚叧緋昏〃紺篈浣跨敤浜咮鎻愪緵鐨勫姛鑳姐?br />鐢ㄤ緥A鍒癇鐨勬墿灞曞叧緋昏〃紺篈鍚態鎻愪緵鐨勫彲鐢ㄧ殑鍔熻兘銆?br />浣嗕粠A鍒癇鐨勫寘鍚叧緋誨拰浠嶣鍒癆鐨勬墿灞曞叧緋繪槸涓嶅悓鐨勶細
A鍖呭惈B璇存槑B鏄粠A涓垎瑙e嚭鏉ョ殑鍏叡琛屼負錛汢鑷韓鏄嫭绔嬬殑錛屼絾瀵逛簬A鏉ヨ鏄笉鍙己灝戠殑涓閮ㄥ垎銆?br />B鎵╁睍A璇存槑B鏄粠A涓垎瑙e嚭鏉ョ殑鍙樹綋琛屼負錛屽繀欏繪寚瀹氭墿灞曠偣錛屼篃灝辨槸鍦ㄥ熀鏈敤渚嬩腑鎵ц鍙樹綋琛屼負鐨勫叿浣撴潯浠躲侭浠呬粎鏄疉鐨勮ˉ鍏咃紝鑰屼笉鏄笉鍙己灝戠殑閮ㄥ垎錛孊鑷韓涔熶笉鏄嫭绔嬬殑銆侫鍙互鍗曠嫭鎵ц錛岃〃紺洪氬父鐨勬儏鍐碉紝鍦ㄧ壒瀹氱殑鎯呭喌涓嬶紝鐢˙鏉ヨˉ鍏呭畠銆?br />鎶借薄鐢ㄤ緥涓嶈兘琚疄渚嬪寲錛屼笉鑳借瀹為檯鎵ц錛屽畠鐨勪綔鐢ㄥ湪浜庢洿濂藉湴緇勭粐鐢ㄤ緥鍏崇郴銆?br />



鍙傝冧功錛?br />銆奤ML鐢ㄦ埛鎸囧崡銆?Grady Booch錛孞ames Rumbaugh錛孖var Jacobson钁?閭電淮蹇犵瓑璇?鏈烘宸ヤ笟鍑虹増紺?br />銆婄粺涓杞歡寮鍙戣繃紼嬨?Ivar Jacobson錛孏rady Booch錛孞ames Rumbaugh钁?鍛ㄤ集鐢熺瓑璇?鏈烘宸ヤ笟鍑虹増紺?br />



]]>
MFC鐨勪簲縐嶅熀鏈満鍒?/title><link>http://m.shnenglu.com/zliner/archive/2006/05/15/7218.html</link><dc:creator>渚濇棫鐨勫崥瀹?/dc:creator><author>渚濇棫鐨勫崥瀹?/author><pubDate>Mon, 15 May 2006 11:33:00 GMT</pubDate><guid>http://m.shnenglu.com/zliner/archive/2006/05/15/7218.html</guid><wfw:comment>http://m.shnenglu.com/zliner/comments/7218.html</wfw:comment><comments>http://m.shnenglu.com/zliner/archive/2006/05/15/7218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zliner/comments/commentRss/7218.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zliner/services/trackbacks/7218.html</trackback:ping><description><![CDATA[<p>鎴戜滑鐭ラ亾MFC鐨勪綔鐢ㄥ湪浜庡皝瑁匴indows鐨勭紪紼嬫帴鍙o紝騫舵彁渚涘簲鐢ㄧ▼搴忔鏋剁殑寮鍙戞ā寮忋備負浜嗗畬鎴愪粠鍓嶈呭埌鍚庤呯殑榪囨浮錛孧FC瀹炵幇浜嗗嚑縐嶅熀鏈満鍒訛紝瀹冧滑鏄秷鎭槧灝勶紝鍛戒護浼犻掞紝榪愯鏃剁被淇℃伅(RTCI)錛屽姩鎬佸垱寤哄拰搴忓垪鍖栥?br><br>娑堟伅鏄犲皠鍜屽懡浠や紶閫掓槸瀵筍DK紼嬪簭浜や簰鏈哄埗鐨勫皝瑁呫傚簭鍒楀寲鏄簲鐢ㄧ▼搴忛渶瑕佺殑涓縐嶅熀鏈壒鎬э紝鍗蟲妸鏁版嵁淇濆瓨鍒扮鐩樺拰浠庣鐩樻墦寮鏁版嵁銆傞氳繃RTCI鍜屽姩鎬佸垱寤猴紝鍙互鎶婅蔣浠剁殑瀵硅薄鏁版嵁淇濆瓨鍒扮鐩橈紝鍙嶈繃鏉ヤ粠榪欎簺鏁版嵁璇嗗埆鍜屾仮澶嶅璞★紝浠庤屽疄鐜板璞$殑搴忓垪鍖栥傚熀浜庢暟鎹簱鐨勫簭鍒楀寲鏈哄埗鍜岃繖縐嶆柟寮忎笉鍚岋紝搴旂敤紼嬪簭鍜屾暟鎹簱涔嬮棿鏈変竴涓害瀹氾紝浠ヤ粈涔堟牱鐨勬牸寮忎繚瀛樹粈涔堟牱鐨勬暟鎹紝鍐嶄互鍚屾牱鐨勬柟寮忔墦寮錛屽茍涓斿浣曢噸寤哄璞℃暟鎹篃瀹氫笅鏉ヤ簡錛屽湪鎵撳紑鏁版嵁鏃訛紝搴旂敤紼嬪簭涓嶉渶瑕佹湁閫傚簲鎬э紝涓嶉渶瑕佽瘑鍒暟鎹被鍨嬶紝涔熶笉闇瑕佹牴鎹湪榪愯鏈熸墠紜畾鐨勭被鍨嬪悕縐板垱寤哄叾瀵硅薄銆?/p> <p>鍔ㄦ佸垱寤哄氨鏄垱寤烘煇縐嶇被鍨嬬殑瀵硅薄錛屽叿浣撶被鍨嬪湪榪愯鏃剁‘瀹氾紝緙栬瘧鏃跺彲鑳戒笉鐭ラ亾銆傛瘮濡傝繍琛屾椂鐢ㄦ埛杈撳叆涓涓被鍨嬪悕縐幫紝濡傛灉璇ョ被鍨嬫槸紼嬪簭綾誨瀷浣撶郴涓殑涓鍛橈紝鍒欑▼搴忎腑灝嗚兘澶熷垱寤鴻綾誨瀷鐨勫璞°備笅闈㈢殑浠g爜鏄嬌鐢∕FC鍔ㄦ佸垱寤烘満鍒剁殑涓涓畝鍖栫殑渚嬪瓙錛?/p> <p>CRuntimeClass* g_pFirstClass;<br>void func()<br>{<br>     char szClassName[64];<br>     CRuntimeClass* pClass;<br>     CObject* pObject;<br>     <br>     cout << "enter a class name...  ";<br>     cin >> szClassName;<br>     <br>     for (pClass = g_pFirstClass; pClass != NULL; pClass = pClass->m_pNextClass)<br>     {<br>          if (strcmp(szClassName, pClass->m_lpszClassName) == 0)<br>              pObject = pClass->CreateObject();<br>     }<br>}</p> <p>瀹炵幇鍔ㄦ佸垱寤虹殑鎬濊礬鏄妸鍔ㄦ佺殑綾誨瀷鍚嶇О涓庣▼搴忕被鍨嬩綋緋諱腑鐨勬瘡涓涓繘琛屾瘮杈冿紝涓庢煇涓被鍨嬪惢鍚堟椂璁╄綾誨瀷鍒涘緩鑷韓鐨勫璞°傝繖鏍鳳紝鏀寔鍔ㄦ佸垱寤虹殑綾誨簱涓殑姣忎竴涓被閮借棰濆瀹炵幇涓浜涘姛鑳斤紝鍗沖垽鍒竴涓悕縐版槸鍚︿笌鑷韓鐩哥錛屼互鍙婂垱寤鴻嚜韜殑瀵硅薄銆?/p> <p>鍒ゅ埆涓涓悕縐版槸鍚︿笌鑷韓鐩哥錛岃繖鏄繍琛屾椂綾昏瘑鍒殑鍐呭錛屾墍浠FC鍔ㄦ佸垱寤烘槸鍦≧TCI鍩虹涓婂疄鐜扮殑銆?/p> <p>RTCI鏄竴涓璞¤兘澶熷垽瀹氳嚜宸辨槸鍚﹀睘浜庢煇縐嶇被鍨嬶紝璇ョ被鍨嬬殑鍚嶇О鍦ㄨ繍琛屾椂紜畾錛岀紪璇戞椂鍙兘涓嶇煡閬撱備粠涓嬮潰鐨勪緥瀛愬緢瀹規槗鐞嗚ВRTCI錛?/p> <p>void Func()<br>{<br>     char szClassName[64];<br>     CDocument* pDoc = new CDocument;<br>     <br>     cout << "enter a class name...  ";<br>     cin >> szClassName;<br>     <br>     cout << pDoc->IsKindOf(szClassName); //鏄繑鍥?錛屽惁榪斿洖0<br>}</p> <p>鏈変竴鐐歸渶瑕佽鏄庣殑鏄紝鍥犱負CDocument媧劇敓浜嶤Object錛屾墍浠sKindOf瀵逛簬CObject涔熻榪斿洖1銆傚洜涓烘垜浠槸浠庡姩鎬佸垱寤哄嚭鍙戠殑錛屾墍浠ュ鏋滄槸榪欐牱鍙兘浼氭湁涓鐐硅儗紱誨垵琛楓備絾鏄疪TCI鏄庢樉鍜屽姩鎬佸垱寤烘湁瀵嗗垏鑱旂郴錛孯TCI涔熷彲鑳芥湁鍗曠嫭鐨勪環鍊鹼紝鎵浠ュ厛鎶奟TCI瀹炵幇璧鋒潵銆?/p> <p>瀹炵幇RTCI鐨勬濊礬鏄姣忎竴涓被璁板綍鑷韓鐨勭被鍨嬩俊鎭紝騫舵彁渚汭sKindOf(char*)鍑芥暟榪涜鎵緇欑被鍨嬩笌鑷韓綾誨瀷鐨勬瘮杈冿紝鑰屼笖榪樿鑳借闂熀綾葷殑綾誨瀷淇℃伅錛岃繘琛屾瘮杈冿紝涓鐩村埌鏍圭被銆傛墍浠ヨ褰曠殑綾誨瀷淇℃伅瑕佹寜緇ф壙鍏崇郴榪炶搗鏉ワ紝姣忎釜綾葷殑IsKindOf()榪樿璋冪敤鍩虹被鐨処sKindOf()銆侻FC鎶婅璁板綍鐨勭被鍨嬩俊鎭娊鍙栧埌涓涓狢RuntimeClass緇撴瀯浣撲腑錛屾瘡涓被涓姞鍏ヤ竴涓狢RuntimeClass鎴愬憳鍗沖彲銆?/p> <p>鐜板湪鍥炲埌鍔ㄦ佸垱寤猴紝鍦≧TCI寤虹珛鐨勬暟鎹粨鏋勫熀紜涓婂皢鍙疄鐜板畠銆傚姩鎬佸垱寤轟粠涓嶅悓浜嶪sKindOf()鐨勮搴︿嬌鐢ㄨ繖涓鏁版嵁緇撴瀯錛屽畠瑕侀亶鍘嗘墍鏈夌被鍨嬬殑CRuntimeClass銆傞偅涔堜粎浠呮湁緇ф壙鍏崇郴鐨勭被鐨凜RuntimeClass鐩歌繛榪樹笉澶燂紝瑕佹妸鎵鏈夌被鐨凜RuntimeClass榪炴垚涓涓摼琛ㄣ傚叾瀹炲姩鎬佸垱寤哄茍涓嶅叧蹇冪被闂寸殑緇ф壙鍏崇郴錛屽畠騫崇瓑鐪嬪緟姣忎釜綾匯傜幇鍦ㄤ互CRuntimeClass涓虹粨鐐規瀯鎴愪竴涓旱妯袱涓柟鍚戠殑閾捐〃錛孖sKindOf()鍜屽姩鎬佸垱寤哄垎鍒嬌鐢ㄥ畠涓嶅悓鐨勪晶闈€?/p> <p>搴忓垪鍖栫殑姒傚康鏄湪鏂囦歡涓瓨鍌ㄥ璞′俊鎭紝騫惰兘鏍規嵁瀹冩仮澶嶅璞°傚浜庢枃妗h鍥劇粨鏋勭殑杞歡錛岀敤鎴烽渶瑕佷繚瀛樻墍緙栬緫鐨勬枃妗e拰鎵撳紑宸茬紪杈戠殑鏂囨。錛岃繖姝f槸搴忓垪鍖栫殑搴旂敤錛屾墍浠ュ簭鍒楀寲鏄潪甯擱噸瑕佺殑涓縐嶇壒鎬с傚湪搴忓垪鍖栨仮澶嶅璞℃椂錛屽氨鍙互鐢ㄥ埌鍔ㄦ佸垱寤恒?/p> <p>浣跨敤MFC搴忓垪鍖栫殑渚嬪瓙濡備笅錛?/p> <p>void CMyDocument::Serialize(CArichive &ar)<br>{<br>    if (ar.IsStoring())<br>    {<br>        ar << m_pMyClass; //CMyClass m_pMyClass;<br>    }<br>    else<br>    {<br>        ar >> m_pMyClass;<br>    }<br>}</p> <p>涓涓敮鎸佸簭鍒楀寲鐨勭被鎻愪緵Serialize(CArchive &)鍑芥暟錛岄噸杞?lt;<鍜?gt;>鎿嶄綔銆傛敞鎰忎袱鑰呮槸涓嶅悓鐨勶紝鍦ㄤ笂渚嬩腑錛孋MyDocument綾葷殑淇℃伅騫朵笉琚簭鍒楀寲錛岃孋MyClass綾葷殑淇℃伅琚簭鍒楀寲銆傚疄闄呬笂涓涓簭鍒楀寲綾葷殑<<鍜?gt;>鎿嶄綔錛屽叾涓嶆秹鍙婄被淇℃伅鐨勯儴鍒嗘槸璋冪敤Serialize()瀹屾垚鐨勶紝瀹冨繀欏誨悓鏃跺疄鐜拌繖涓よ呫?/p> <p>鎸夌収MFC鐨勮姹傦紝闇瑕佸湪鏀寔搴忓垪鍖栫殑綾誨畾涔変腑浣跨敤DECLARE_SERIAL瀹忥紝鍦ㄧ被瀹炵幇涓嬌鐢↖MPLEMENT_SERIAL瀹忋傛垜浠湅涓涓嬭繖涓や釜瀹忓疄鐜頒簡浠涔堬紝</p> <p>#define DECLARE_SERIAL(class_name) \<br> _DECLARE_DYNCREATE(class_name) \<br> AFX_API friend CArchive& AFXAPI operator>>(CArchive& ar, class_name* &pOb);</p> <p>#define IMPLEMENT_SERIAL(class_name, base_class_name, wSchema) \<br> CObject* PASCAL class_name::CreateObject() \<br>  { return new class_name; } \<br> _IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, wSchema, \<br>  class_name::CreateObject) \<br> AFX_CLASSINIT _init_##class_name(RUNTIME_CLASS(class_name)); \<br> CArchive& AFXAPI operator>>(CArchive& ar, class_name* &pOb) \<br>  { pOb = (class_name*) ar.ReadObject(RUNTIME_CLASS(class_name)); \<br>   return ar; } \</p> <p>涓昏鏄姞鍏ヤ簡瀵?gt;>鐨勯噸杞斤紝浣嗘槸娌℃湁閲嶈澆<<錛孧FC浠呮彁渚涗簡CObject瀵?lt;<鐨勯噸杞斤紝濡備笅錛?/p> <p>_AFX_INLINE CArchive& AFXAPI operator<<(CArchive& ar, const CObject* pOb)<br> { ar.WriteObject(pOb); return ar; }</p> <p>榪欐槸鍥犱負鍦ㄥ簭鍒楀寲璇誨拰鍐欑殑鏃跺欙紝閮介渶瑕佸叿浣撶被鐨凜RuntimeClass淇℃伅銆傜浉搴旂殑GetRuntimeClass()鏄竴涓櫄鍑芥暟錛孋Object閲嶈澆<<錛屽湪鍐欑被淇℃伅鏃惰皟鐢ㄥ埌璇ュ嚱鏁幫紝鐢變簬铏氬嚱鏁版満鍒訛紝鍐欏叆鐨勬槸鍏蜂綋綾葷殑淇℃伅銆備絾鏄繖閲岄殣鍚潃涓涓潯浠訛紝灝辨槸璋冪敤<<鍜孏etRuntimeClass()鏃訛紝鍏蜂綋綾誨璞″凡緇忓瓨鍦ㄤ簡錛岃岃皟鐢?gt;>鍜岃鍏ョ被淇℃伅鏃訛紝璇ョ被瀵硅薄榪樻湭琚垱寤猴紝鎵浠ユ棤娉曞埄鐢ㄨ繖縐嶆満鍒訛紝鍙兘鍦ㄦ瘡涓叿浣撶被涓兘閲嶈澆涓嬈?gt;>銆傛垜瑙夊緱銆婃繁鍏ヨВ鏋怣FC銆嬪榪欎釜闂鐨勮В閲婁笉姝g‘銆?/p> <p>榪欓噷鏈変竴涓棶棰橀渶瑕佹槑紜竴涓嬶紝搴忓垪鍖栦負浠涔堣鍐欏叆綾諱俊鎭紵涓鏄畠搴旇淇濆瓨瀹屾暣鐨勮兘澶熺嫭绔嬫仮澶嶅璞$殑淇℃伅錛屼簩鏄湪紼嬪簭璇誨叆瀵硅薄鏃訛紝瑕佹妸瀹冪殑綾諱俊鎭拰紼嬪簭涓湡鏈涚殑(鎵鑳藉鐞嗙殑)綾諱俊鎭浉姣旇緝錛岃繘琛屾楠屻?/p> <p>鐪婭MPLEMENT_SERIAL瀹忓閲嶈澆>>鐨勫疄鐜幫紝鏄彁渚涗竴涓湡鏈涚殑CRuntimeClass緇撴瀯(鐢ㄤ簬媯楠?錛屽鎵楥Archive榪涜瀵硅薄璇誨彇銆傚洜涓鴻瀵硅薄鏃墮鍏堣璺熸枃浠舵墦浜ら亾錛屾墍浠ヤ氦緇機Archive澶勭悊錛岄殢鍚庢妸璇誨嚭鐨勬暟鎹啓鍏ュ璞℃椂錛孋Archive鍐嶈皟鐢ㄥ叿浣撶被鐨凷erialize()錛屽姝ゅ悎浣滄槸鍗佸垎鎭板綋鐨勩傚湪榪欓噷錛孋Archive榪樿礋璐d簡璇誨嚭鍜屾楠岀被淇℃伅錛岀劧鍚庡垱寤哄璞$殑榪囩▼銆傚洜涓轟竴鏂歸潰鍏蜂綋綾誨璞¤繕涓嶅瓨鍦紝鍙︿竴鏂歸潰榪欎簺鎿嶄綔瀵規墍鏈夊叿浣撶被閮芥病鏈夊垎鍒紝搴旇鎻愬嚭鏉ワ紝鍦ㄧ被綰у埆瀹炵幇鎴栬呰鍚堜綔鑰呭疄鐜般傚疄闄呬笂錛孧FC鍏堟妸榪欎釜榪囩▼浜ょ粰CArchive::ReadClass()錛屽悗鑰呭張璋冪敤CRuntimeClass::Load()銆?nbsp;</p> <p>瀵逛簬搴忓垪鍖栨潵璇達紝鎼炴竻瀹冪殑姒傚康浠ュ悗錛屽氨鏄疄鐜癝erialzie()錛岄噸杞?lt;<鍜?gt;>銆傚<<鍜?gt;>鐨勯噸杞芥秹鍙婂緢澶氬伐浣滐紝MFC宸茬粡甯垜浠疄鐜頒簡錛屾垜浠篃鐪嬭浜嗗ぇ姒傜殑璁捐錛屼富瑕佹槸涓嶤Archive鍒嗗伐鍚堜綔錛屽叾嬈℃槸CRuntimeClass銆?/p> <p>鐜板湪鐪嬪埌CRuntimeClass緇撴瀯浣撳湪MFC瀵筊TCI錛屽姩鎬佸垱寤哄拰搴忓垪鍖栫殑瀹炵幇涓兘璧風潃閲嶈鐨勪綔鐢紝閲嶆柊璁よ瘑涓涓嬭繖涓暟鎹粨鏋勫緢鏈夊繀瑕併?/p> <p>CRuntimeClass鍖呭惈浜嗗叧浜庣被鐨勫悇縐嶄俊鎭拰鏈夊叧鎿嶄綔銆傛妸綾誨強鍏跺熀綾葷殑CRuntimeClass榪炴垚涓涓摼琛紝灝卞彲浠ュ緢鏂逛究鍦板疄鐜癛TCI鐨処sKindOf()錛涙妸鎵鏈夌被鐨凜RuntimeClass榪炴垚涓涓摼琛紝鍐嶅姞涓婁竴涓畝鍗曠殑CreateObject鍑芥暟錛屽氨鍙互瀵逛互浠繪剰綾誨悕榪涜鍔ㄦ佸垱寤虹殑浼佸浘鍋氬嚭鍙嶅簲錛汣RuntimeClass榪樺疄鐜頒簡鍚戞枃浠惰鍐欑被淇℃伅鐨凩oad()錛孲tore()錛岄厤鍚堝簭鍒楀寲鐨勫疄鐜般?/p> <p>鍦ㄥ垎鏋愭秷鎭槧灝勫拰鍛戒護浼犻掓満鍒朵箣鍓嶏紝闇瑕佸<a title=Windows紼嬪簭妯″瀷 href="http://m.shnenglu.com/zliner/archive/2007/04/15/21942.html">Windows紼嬪簭妯″瀷</a>鏈夊緢濂界殑鐞嗚В銆?/p> <p>鏈畬寰呯畫...<br><br><br>鍙傝冿細<br><br>銆婃繁鍏ヨВ鏋怣FC銆?涓浗鐢靛姏鍑虹増紺?br>銆婃繁鍏ユ祬鍑篗FC銆?鍗庝腑縐戝ぇ鍑虹増紺?br>銆奧indows紼嬪簭璁捐銆?鍖楀ぇ鍑虹増紺?/p> <img src ="http://m.shnenglu.com/zliner/aggbug/7218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zliner/" target="_blank">渚濇棫鐨勫崥瀹?/a> 2006-05-15 19:33 <a href="http://m.shnenglu.com/zliner/archive/2006/05/15/7218.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎬濊礬嬈h祻http://m.shnenglu.com/zliner/archive/2006/05/12/7045.html渚濇棫鐨勫崥瀹?/dc:creator>渚濇棫鐨勫崥瀹?/author>Fri, 12 May 2006 15:14:00 GMThttp://m.shnenglu.com/zliner/archive/2006/05/12/7045.htmlhttp://m.shnenglu.com/zliner/comments/7045.htmlhttp://m.shnenglu.com/zliner/archive/2006/05/12/7045.html#Feedback2http://m.shnenglu.com/zliner/comments/commentRss/7045.htmlhttp://m.shnenglu.com/zliner/services/trackbacks/7045.html
1. 闂錛氬32浣嶇殑浜岃繘鍒舵暣鏁幫紝涓嶇敤寰幆錛屾眰鍑哄叾涓?鐨勪釜鏁般?br />
#define聽POW(c)聽(1<<(c))
#define聽MASK(c)聽(((unsigned聽long)-1)聽/聽(POW(POW(c))聽+聽1))
#define聽ROUND(n,聽c)聽(((n)聽&聽MASK(c))聽+聽((n)聽>>聽POW(c)聽&聽MASK(c)))

int聽bit_count(unsigned聽int聽n)
{
聽聽聽聽n聽
=聽ROUND(n,聽0);
聽聽聽聽n聽
=聽ROUND(n,聽1);
聽聽聽聽n聽
=聽ROUND(n,聽2);
聽聽聽聽n聽
=聽ROUND(n,聽3);
聽聽聽聽n聽
=聽ROUND(n,聽4);
聽聽聽聽
return聽n;
}

鍩烘湰鐨勬兂娉曟槸鎶婃墍鏈夌殑1鍔犺搗鏉ワ紝寰楀埌鐨勫氨鏄?鐨勪釜鏁般傛垜浠渶瑕佹妸榪欎簺1鍒嗙鍑烘潵錛屾瘡涓?閮芥槸騫崇瓑鐨勶紝涓庡叾浣嶇疆鏃犲叧銆傞毦棰樺湪浜庝笉鑳戒竴涓竴涓幓鍙栵紝閭e氨鐢ㄥ埌浜嗗驚鐜紝褰撶劧閫掑綊涔熸槸涓嶅厑璁哥殑銆傞渶瑕佹湁涓縐嶇粺涓鐨勫姙娉曪紝鍙槸寰堥毦鎯寵薄鍏蜂綋璇ユ庢牱銆傛垜浠愭鍦板仛榪欎歡浜嬶紝鍋囪鍓?6浣嶅拰鍚?6浣嶅垎鍒眰寰椾簡1鐨勪釜鏁幫紝閭d箞鍔犺搗鏉ュ氨琛屼簡銆?6浣嶄簩榪涘埗涓殑1浠嶇劧鏄湭鐭ョ殑錛岄殢鏈哄嚭鐜扮殑錛岄棶棰樼殑鎬ц川娌℃湁鍙橈紝浣嗘垜浠彲浠ョ戶緇垎瑙o紝榪欑閫愭鐨勫仛娉曚笉涓瀹氬氨鎰忓懗鐫閫掑綊銆傛瘡涓?6浣嶅垎瑙d負涓や釜8浣嶏紝...,姣忎釜2浣嶅垎瑙d負涓や釜1浣嶏紝鎶婁袱涓?浣嶄笂鐨勬暟鐩稿姞灝辨槸榪欎袱浣嶄笂1鐨勪釜鏁般傜幇鍦ㄩ渶瑕佸彇鍑烘瘡涓浣嶄笂鐨勬暟鍚楋紵濡傛灉鎯沖埌浜嗚繖涓棶棰橈紝灝辯鏈緇堢殑鎬濊礬涓嶈繙浜嗐傜幇鍦?2浣嶅凡緇忓垎鎴愪簡16涓袱浣嶏紝寰堝鏄撳皢鍏剁湅浣滀袱涓?6浣嶏紝涓涓槸鎵鏈夊鏁頒綅錛屼竴涓槸鎵鏈夊伓鏁頒綅銆傛垜浠笉闅炬妸榪欎袱涓?6浣嶅垎寮錛岀劧鍚庣Щ浣嶇浉鍔狅紝灝辨眰鍑轟簡姣忎袱浣嶄腑1鐨勪釜鏁般傚埌浜嗚繖涓姝ワ紝浠ュ悗鐨勬濊礬灝卞緢鑷劧浜嗐?br />

鍙傝冿細

銆婅綆椾簩榪涘埗浣?1'鐨勪釜鏁般嬫潵鑷?a >http://kaikai.cnblogs.com

]]>
鍑犵鎺掑簭鏂規硶鐨勫疄鐜?/title><link>http://m.shnenglu.com/zliner/archive/2006/05/09/6825.html</link><dc:creator>渚濇棫鐨勫崥瀹?/dc:creator><author>渚濇棫鐨勫崥瀹?/author><pubDate>Tue, 09 May 2006 08:37:00 GMT</pubDate><guid>http://m.shnenglu.com/zliner/archive/2006/05/09/6825.html</guid><wfw:comment>http://m.shnenglu.com/zliner/comments/6825.html</wfw:comment><comments>http://m.shnenglu.com/zliner/archive/2006/05/09/6825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zliner/comments/commentRss/6825.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zliner/services/trackbacks/6825.html</trackback:ping><description><![CDATA[ <div>1. 鍐掓場鎺掑簭<br /><br />聽鎬濇兂錛?br /><br /></div> <ol> <li>浠庣幇鏈夊厓绱犱腑鍙栧嚭鏈澶х殑鍏冪礌錛岀Щ鍒扮浉搴旂殑浣嶇疆錛岀洿鍒版墍鏈夊厓绱犻兘灝變綅銆? </li> <li>閫氳繃姣旇緝鍜屼氦鎹㈤愭璋冩暣鐜版湁搴忓垪錛屾渶緇堟壘鍑烘渶澶у厓绱犲茍浣垮叾灝變綅銆?</li> </ol> <p>聽璁捐錛?br /><br /></p> <p>聽 杈撳叆鏄緟鎺掓暟緇勫強鍏墮暱搴︼紝杈撳嚭鎺掑簭鍚庣殑鏁扮粍銆?br />聽聽鍦ㄥ啋娉¤繃紼嬩腑瀵規暟緇勭殑鏈夊簭鎯呭喌榪涜媯鏌ワ紝鍦ㄦ暟緇勫凡緇忔湁搴忔椂渚跨粨鏉熺畻娉曘?br /><br />浠g爜錛?br /><br />void BubbleSort(int nArray[], int nLength)<br />{<br />聽聽聽聽 bool bSorted = false;<br />聽聽聽 <br />聽聽聽聽 if (nArray == NULL)<br />聽聽聽聽聽聽聽聽 throw -1;<br />聽聽聽 <br />聽聽聽聽 if (nLength < 2)<br />聽聽聽聽聽聽聽 聽return;<br />聽聽聽 <br />聽聽聽 for (int i = nLength; !bSorted && i > 1; i--)<br />聽聽聽 {<br />聽聽聽聽聽聽聽 聽bSorted = true;<br />聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽聽 for (int j = 1; j < i; j++)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽 if (nArray[j] < nArray[j-1])<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int n;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 n = nArray[j];<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 nArray[j] = nArray[j-1];<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 nArray[j-1] = n;<br />聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 bSorted = false;<br />聽聽聽聽聽聽聽聽聽聽聽聽 }//if<br />聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽}<br /><br />}<br /><br />2. 鍙屽悜鍐掓場鎺掑簭<br /><br />void BiBubbleSort(int nArray[], int nLength)<br />{<br />聽聽聽聽int聽 low, high;<br />聽<br />聽聽聽聽if (nArray == NULL)<br />聽聽聽聽聽聽聽throw -1;</p> <p>聽聽聽聽if (nLength < 2)<br />聽聽聽聽聽聽聽returnt;</p> <p>聽聽聽 low = 0;<br />聽聽聽聽high = nLength - 1;<br />聽聽聽 while (low < high)<br />聽聽 {<br />聽聽聽聽聽聽聽int t;</p> <p>聽聽聽聽聽聽聽t = low;<br />聽聽聽聽聽聽聽for (int i = low; i < high; i++)<br />聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽 if (nArray[i] > nArray[i+1])<br />聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 int n;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 n = nArray[i];<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 nArray[i] = nArray[i+1];<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 nArray[i+1] = n;<br /><br />聽聽聽聽聽聽聽聽聽聽聽聽聽 t = i + 1;<br />聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽 }<br />聽聽聽聽聽聽 high = t - 1;</p> <p>聽聽聽聽聽 t = high;<br />聽聽聽聽 聽for (int j = high; j > low; j--)<br />聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽 if (nArray[j] < nArray[j-1])<br />聽聽聽聽聽聽 聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽 int n;<br />聽聽聽聽聽聽聽聽聽聽聽聽 n = nArray[j];<br />聽聽聽聽聽聽聽聽聽聽聽聽 nArray[j] = nArray[j-1];<br />聽聽聽聽聽聽聽聽聽聽聽聽 nArray[j-1] = n;<br />聽聽聽聽聽聽聽聽聽聽聽聽<br />聽聽聽聽聽聽聽聽聽聽聽聽 t = j - 1;<br />聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽 }</p> <p>聽聽聽聽 low = t + 1;</p> <p>聽 }//while<br /><br />}<br /><br />3. 蹇熸帓搴?br /><br />聽鎬濇兂錛?br /><br />聽閫変竴涓灑杞村厓绱狅紝鎶婂緟鎺掑簭鍒楀垝鍒嗘垚涓ゆ錛屽墠涓孌典笉澶т簬鏋㈣醬錛屄犲悗涓孌典笉灝忎簬鏋㈣醬銆傚鏋滆繖涓ゆ鍒嗗埆鏈夊簭錛屽師搴忓垪涔熼殢涔嬫湁搴忋傞氳繃鍒掑垎錛屼竴涓鐨勬帓搴忓彲浠ヨ漿鍖栦負涓や釜瀛愭鐨勬帓搴忥紝鍗沖悓鏍鋒ц川浣嗚緝灝忚妯$殑闂銆傚綋孌電殑闀垮害涓?鏃訛紝鏈韓鏄湁搴忕殑錛岃漿鍖栧彲浠ョ粓姝€?br /><br />璁捐錛?br /><br />鐢ㄤ竴涓掑綊鍑芥暟鏉ュ疄鐜板揩閫熸帓搴忕畻娉曪紝閫掑綊緇堟鏉′歡鏄鐨勯暱搴﹀皬浜庣瓑浜?銆?br />涓嬈″垝鍒嗚繃紼嬭璁″涓嬶細鍙栨鐨勭涓涓厓绱犱負鏋㈣醬錛屼粠鏈鍚庝竴涓厓绱犲悜鍓嶄笌鏋㈣醬姣旇緝錛屽彂鐜板皬浜庢灑杞寸殑鍏冪礌鏃訛紝涓庢灑杞翠氦鎹綅緗紝浠庣浜屼釜鍏冪礌鍚戝悗涓庢灑杞存瘮杈冿紝榪欐牱涓ょ鏄凡瀹屾垚鍒掑垎鐨勯儴鍒嗭紝涓棿鏄緟鍒掑垎鐨勯儴鍒嗭紝鏋㈣醬濮嬬粓澶勪簬涓棿閮ㄥ垎鐨勪竴绔紝姣旇緝浠庡彟涓绔悜璇ョ榪涜錛屽彂鐜板垎綾諱笉鍚岀殑鍏冪礌灝卞悓鏋㈣醬浜ゆ崲銆傞殢鐫姣旇緝鍜屼氦鎹㈢殑榪涜錛屼腑闂撮儴鍒嗕笉鏂敹緙?姣忔闀垮害緙╃煭1)錛屽綋鏀剁緝鍒伴暱搴︿負1鏃訛紝鍒掑垎緇堟銆?br /><br />瀹炵幇瑕佺偣錛?br /><br />閫掑綊鍑芥暟鐨勫弬鏁版槸寰呮帓搴忓垪鍙婂墠鍚庤竟鐣屻?br />鍒掑垎榪囩▼闇瑕佺敤涓や釜鍙橀噺璁板綍涓棿閮ㄥ垎鐨勮竟鐣屻?br /><br />浠g爜錛?br /><br />void QuickSort(int nArray[], int low, int high)<br />{<br />聽聽聽聽 int pivot = nArray[low];<br />聽聽聽聽 int聽i = low錛宩 = high;<br />聽聽聽 <br />聽聽聽聽 if (high < low)<br />聽聽聽聽聽聽聽聽聽聽聽return;聽聽聽<br />聽聽聽聽<br />聽聽聽聽 while (i < j)<br />聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽 while (i <聽j && nArray[j] >= pivot) j--;<br />聽聽聽聽聽聽聽聽聽 if (i < j)聽<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 nArray[i++] = nArray[j];<br />聽<br />聽聽聽聽聽聽聽聽聽 while (i <聽j && nArray[i] <= pivot) i++;<br />聽聽聽聽聽聽聽聽聽 if (i < j)聽<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 nArray[j--] = nArray[i];<br />聽聽聽聽 }<br />聽聽聽聽<br />聽聽聽聽 nArray[i] = pivot;<br />聽聽聽 <br />聽聽聽聽 QuickSort(nArray, low,聽i - 1);<br />聽聽聽聽 QuickSort(nArray,聽i + 1, high);<br />}<br /><br />嫻嬭瘯瑕佺偣錛?</p> <ol> <li>閫掑綊緇堟鏉′歡銆傚繀欏繪槸high < low錛岃屼笉鑳芥槸 high聽== low銆傞掑綊鐨勭粓姝㈡槸寰堥噸瑕佺殑杈圭晫鎯呭喌錛屽湪瀹炵幇涔嬪墠鏈変竴涓蹇典笂鐨勭粓姝㈡潯浠訛紝浣嗗湪瀹炵幇鏃跺鐞嗗繀欏誨噯紜傜粓姝㈡潯浠跺拰閫掓帹鏂瑰紡鏈夊叧錛岄渶瑕佺粨鍚堝疄闄呯殑閫掓帹鏂瑰紡鏉ョ‘瀹氥? </li> <li>閫掑綊鐨勯掓帹鏂瑰紡銆? </li> <li>鍒嗗垝鐨勭粓姝㈡潯浠躲傚垎鍒掕繃紼嬪湪i == j鏃剁粓姝紝铏界劧鍦ㄦ瘮杈冪殑榪囩▼涓彲鑳借繘琛屼氦鎹紝浣嗘槸姣忔鏈垎鍒掗儴鍒嗙殑闀垮害鍑?錛岀敤璇ラ暱搴︽帶鍒跺垎鍒掔殑緇堟銆? </li> <li>鍒嗗垝榪囩▼涓敼鍙樻柟鍚戞椂鐨勪氦鎺ャ?</li> </ol> <p>綆楁硶鍒嗘瀽錛?br /><br />鍋囪鍘熷簭鍒楁湁2<sup>n</sup>涓厓绱狅紝姣忔鍒嗗垝鎶婁竴涓絳夊垎鎴愪袱孌碉紝鍒欑粡榪噉綰ч掑綊綆楁硶緇堟錛屾瘡涓綰ч掑綊鐨勬瘮杈冩繪暟涓簄, 鎵浠uickSort()鐨勬椂闂翠負O(nlog(n))錛岃繖鏄鉤鍧囨儏鍐點傚綋鍘熷簭鍒楁湰韜湁搴忔椂錛孮uickSort()鍑虹幇鏈鍧忔儏鍐碉紝鏃墮棿涓篛(n<sup>2</sup>)銆?/p> <img src ="http://m.shnenglu.com/zliner/aggbug/6825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zliner/" target="_blank">渚濇棫鐨勫崥瀹?/a> 2006-05-09 16:37 <a href="http://m.shnenglu.com/zliner/archive/2006/05/09/6825.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>澶氱嚎紼嬮氫俊鐨勬満鍒?/title><link>http://m.shnenglu.com/zliner/archive/2006/05/05/6630.html</link><dc:creator>渚濇棫鐨勫崥瀹?/dc:creator><author>渚濇棫鐨勫崥瀹?/author><pubDate>Thu, 04 May 2006 16:15:00 GMT</pubDate><guid>http://m.shnenglu.com/zliner/archive/2006/05/05/6630.html</guid><wfw:comment>http://m.shnenglu.com/zliner/comments/6630.html</wfw:comment><comments>http://m.shnenglu.com/zliner/archive/2006/05/05/6630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zliner/comments/commentRss/6630.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zliner/services/trackbacks/6630.html</trackback:ping><description><![CDATA[鏈鍘熷鐨勫綰跨▼閫氫俊鏈哄埗鏄叏灞鍙橀噺錛屼絾鏄袱涓嚎紼嬪鍚屼竴鍙橀噺鐨勫茍鍙戞搷浣滃彲鑳芥槸鍐茬獊鐨勶紝鎵璋撳啿紿佹槸鎸囦竴縐嶅茍鍙戣皟搴︿笉絳変環浜庝換浣曚覆琛岃皟搴︺傚彲浠ラ氳繃鐗瑰畾鐨勭郴緇熻皟鐢ㄤ繚璇佺嚎紼嬪鍏ㄥ眬鍙橀噺鐨勬搷浣滃叿鏈夊師瀛愭с傝繖鏃跺叏灞鍙橀噺鎴愪負涓縐嶅彲鐢ㄧ殑閫氫俊鏈哄埗錛屾牴鎹氫俊鐨勯渶瑕佽璁¢氫俊鐨勫崗璁紝涓や釜綰跨▼鍒嗗埆鎵ц錛屽氨鍙互瀹屾垚鍚堜綔銆傛瘮濡傝緟綰跨▼閲嶅鏌愪釜榪囩▼鐩村埌涓葷嚎紼嬮氱煡瀹冪粓姝紝鍙互綰﹀畾鍏ㄥ眬鍙橀噺涓虹壒瀹氬兼椂杈呯嚎紼嬬粓姝紝璁╄緟綰跨▼鍦ㄥ驚鐜腑媯嫻嬪叏灞鍙橀噺錛屼富綰跨▼璁劇疆鍏ㄥ眬鍙橀噺閫氱煡杈呯嚎紼嬬粓姝€傝繖縐嶆満鍒剁殑緙虹偣鏄帴鏀墮氱煡鐨勪竴鏂瑰繀欏諱笉鏂嫻嬪叏灞鍙橀噺錛屼簨浠舵満鍒剁敱姝よ繘琛屼簡鏀硅繘銆傛帴鏀舵柟鍙互鍦ㄤ簨浠朵笂闃誨錛岀瓑寰呯壒瀹氱殑閫氱煡錛岀瓑寰呯殑鏃墮棿鍙互璁懼畾錛屽鏋滆涓?錛屽垯浜嬩歡閫鍖栦負鍏ㄥ眬鍙橀噺銆備簨浠跺彧鏈変袱縐嶇姸鎬侊紝鏈変俊鍙鋒垨鏃犱俊鍙鳳紝榪欑浉瀵瑰叏灞鍙橀噺鏄竴涓檺鍒躲備簨浠跺疄鐜頒簡鍗曞悜鐨勬秷鎭紝榪欐槸鏈鍩烘湰鐨勬満鍒躲傚湪瀹為檯閫氫俊媧誨姩涓繕鏈夎澶氬悓姝ラ棶棰橈紝姣忎竴鏂逛笉浣嗘牴鎹壒瀹氱殑娑堟伅閲囧彇鐩稿簲鐨勫姩浣滐紝榪樺湪鏀跺埌娑堟伅鍚庡彂鍑哄弽棣堟秷鎭傞氫俊鏄竴涓氦浜掑拰鎸佺畫鐨勮繃紼嬨備復鐣屾鏈哄埗灝辨槸涓烘鑰屾彁渚涚殑銆備復鐣屾鐨勫眬闄愭槸鍙湁涓ょ鐘舵侊細閿佸畾鍜岃В閿侊紝鍦ㄥ緢澶氱殑閫氫俊涓紝闇瑕佽繘涓姝ラ噺鍖栫殑鐘舵侊紝榪欏氨浜х敓浜嗕俊鍙烽噺鏈哄埗銆?img src ="http://m.shnenglu.com/zliner/aggbug/6630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zliner/" target="_blank">渚濇棫鐨勫崥瀹?/a> 2006-05-05 00:15 <a href="http://m.shnenglu.com/zliner/archive/2006/05/05/6630.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>COM鍩烘湰姒傚康鍜孋OM妯″瀷http://m.shnenglu.com/zliner/archive/2006/05/03/6601.html渚濇棫鐨勫崥瀹?/dc:creator>渚濇棫鐨勫崥瀹?/author>Wed, 03 May 2006 13:54:00 GMThttp://m.shnenglu.com/zliner/archive/2006/05/03/6601.htmlhttp://m.shnenglu.com/zliner/comments/6601.htmlhttp://m.shnenglu.com/zliner/archive/2006/05/03/6601.html#Feedback0http://m.shnenglu.com/zliner/comments/commentRss/6601.htmlhttp://m.shnenglu.com/zliner/services/trackbacks/6601.html1. 鎺ュ彛

鎺ュ彛鏄竴緇勫嚱鏁扮殑闆嗗悎(鏇翠竴鑸儏鍐典笅錛屾槸涓緇勫嚱鏁板拰鍙橀噺鐨勯泦鍚?錛屽璞″拰瀹㈡埛(紼嬪簭鐨勪袱涓笉鍚岄儴鍒?鍙氳繃瀹冭繘琛岄氫俊銆傛帴鍙f湁鐗瑰畾鐨勫唴瀛樼粨鏋勶紝涓涓帴鍙f寚閽堟寚鍚戜竴涓櫄琛?vtbl)鎸囬拡錛岃櫄琛ㄦ槸涓涓嚱鏁版寚閽堢殑鏁扮粍錛屾瘡欏規寚鍚戜竴涓帴鍙e嚱鏁般?br />
鎺ュ彛鏄蹇墊х殑紼嬪簭鍏冪礌錛屽畠鍏鋒湁緇ф壙鍜屽鎬佹с傜戶鎵挎ф槸鎸囧瓙鎺ュ彛緇ф壙浜嗗熀鎺ュ彛鐨勬墍鏈夊嚱鏁幫紝瀛愭帴鍙e彲浠ヨ漿鍨嬩負鍩烘帴鍙c傚湪瀹炵幇涓婏紝瀛愭帴鍙g殑铏氳〃鍖呮嫭浜嗗熀鎺ュ彛鐨勮櫄琛紝瀛愭帴鍙g殑铏氳〃鎸囬拡鍙互杞瀷涓哄熀鎺ュ彛鐨勮櫄琛ㄦ寚閽堛傚鎬佹ф槸鎸囦竴涓熀鎺ュ彛鐨勪笉鍚屽瓙鎺ュ彛鍙互鏈変笉鍚岀殑琛屼負銆?br />
2. COM鎺ュ彛(緇勪歡妯″瀷瀵規帴鍙g殑瑕佹眰)

COM浣滀負涓縐嶄簩榪涘埗緇勪歡妯″瀷錛岃姹傚璞″拰瀹㈡埛灝藉彲鑳藉垎紱伙紝瀹冧滑鐨勪竴鍒囪仈緋婚兘閫氳繃鎺ュ彛榪涜銆備竴涓璞″彲浠ユ湁澶氫釜鎺ュ彛錛岄偅涔堬紝瀹㈡埛鍦ㄨ幏寰楃涓涓帴鍙f寚閽堝悗錛屽簲褰撳彲浠ヤ粠涓涓帴鍙f寚閽堟煡璇笅涓涓帴鍙f寚閽堬紝浠ヤ繚鎸佸璞$殑浣跨敤銆傚鎴峰簲褰撳彲浠ラ氳繃鎺ュ彛綆$悊瀵硅薄鐨勭敓鍛芥湡錛屼互緇撴潫瀵硅薄鐨勪嬌鐢ㄣ備綔涓轟竴縐嶈璁★紝COM瑙勫畾浠庡璞$殑涓涓帴鍙e彲浠ユ煡璇㈠畠鐨勬墍鏈夋帴鍙o紝瀵硅薄鐢熷懡鏈熺鐞嗙殑璐d換鍒嗘暎鍒版瘡涓帴鍙?鍙瀹㈡埛涓烘瘡涓帴鍙h繘琛岀敓鍛芥湡綆$悊錛屽氨鍙互瀹炵幇瀵硅薄鐨勭敓鍛芥湡綆$悊)銆傚湪瀹炵幇涓婏紝COM灝嗘帴鍙f煡璇㈠拰鐢熷懡鏈熺鐞嗙殑璐d換闆嗕腑鍒頒竴涓狪Unknown鎺ュ彛錛屾墍鏈夋帴鍙i兘浠嶪Unknown媧劇敓銆侰OM鎺ュ彛灝辨槸浠嶪Unknown媧劇敓鐨勬帴鍙c?/p>

2. COM鐨勯潰鍚戝璞$壒寰?/p>COM鍦ㄤ簩榪涘埗涓婃彁渚涗簡涓縐嶈蔣浠剁粨鏋勬ā鍨嬶紝騫朵笖甯︽湁闈㈠悜瀵硅薄鐨勭壒寰併?br />

  1. 灝佽

    COM瀵硅薄鏄湁鐘舵佺殑錛屾暟鎹拰鎿嶄綔灝佽鍦ㄤ竴璧楓侰OM鎺ュ彛鍜屾櫘閫欰PI鍑芥暟鐨勪笉鍚岋紝灝卞湪浜嶤OM瀵硅薄鏄湁鐘舵佺殑銆傛瘮濡備竴涓畤瀹欓鑸瑰璞?瀹炵幇IMotion鎺ュ彛錛孖Motion鍖呭惈void Fly(double dTime)鍜宒ouble GetPosition()鍑芥暟)錛岃瀹冮琛屼竴孌墊椂闂?閫氳繃IMotion鎺ュ彛璋冪敤Fly()鍑芥暟)浠ュ悗瀹冪殑浣嶇疆灝辨敼鍙樹簡(鍦ㄩ琛屽墠鍚庤皟鐢℅etPosition()寰楀埌涓嶅悓緇撴灉)銆?/p>

  2. 澶氭?

    鍚屾牱鐨勬帴鍙e彲浠ョ敱涓嶅悓鐨凜OM瀵硅薄瀹炵幇錛屽鎴風▼搴忕敤緇熶竴鐨勬柟娉曡繘琛屽鐞嗭紝鍗村彲浠ュ緱鍒頒笉鍚岀殑緇撴灉銆傛帴鍙d篃鍙互媧劇敓錛屼笉鍚岀殑瀛愭帴鍙e鍩烘帴鍙g殑鍑芥暟鏈変笉鍚岀殑瀹炵幇銆?/p>

    鍦ㄨ繖閲岃В閲婁竴涓婱FC瀹炵幇COM瀵硅薄鐨勬満鍒躲備竴涓狢OM瀵硅薄鍙互瀹炵幇澶氫釜鎺ュ彛錛岃岃繖浜涙帴鍙i兘鏄疘Unknown鐨勫瓙鎺ュ彛錛屽畠浠QueryInterface(),聽 AddRef(),聽 Release()鍚勬湁涓浠藉疄鐜頒唬鐮侊紝鑰屽湪鍚屼竴瀵硅薄鍐咃紝榪欎笁涓嚱鏁扮殑鍐呭瀹屽叏鐩稿悓錛屽洜姝ゅ彲浠ユ娊鍑烘潵錛屽媧劇粰璇ュ璞°傚張鐢變簬瀵逛換浣旵OM瀵硅薄錛孉ddRef()鍜孯elease()鐨勫疄鐜版湰璐ㄤ笂涔熺浉鍚岋紝鍥犳鍙互榪涗竴姝ワ紝鎶藉彇榪欎袱涓嚱鏁板強鍏舵搷浣滅殑鏁版嵁(m_Ref)錛屾斁鍒癈CmdTarget涓幓銆俀ueryInterface()鐨勬儏鍐墊湁鎵涓嶅悓錛屽畠鎿嶄綔鐨勬暟鎹槸渚濊禆浜庡叿浣揅OM瀵硅薄鐨勬帴鍙f槧灝勮〃錛屽彲浠ュ湪鎶婂嚱鏁版斁榪汣CmdTarget鐨勫悓鏃訛紝瀹炵幇涓涓繑鍥炴帴鍙f槧灝勮〃鐨勮櫄鍑芥暟錛孮ueryInterface()璋冪敤姝ゅ嚱鏁拌幏寰楀叿浣撶殑鎺ュ彛鏄犲皠琛ㄣ?/p>

  3. 閲嶇敤

    COM瀵硅薄鍙互鐢ㄥ寘瀹瑰拰鑱氬悎涓ょ鏂瑰紡閲嶇敤宸叉湁鐨凜OM瀵硅薄銆?/p>

    鑱氬悎鏂瑰紡瀹炵幇閲嶇敤姣旇緝澶嶆潅銆?br />
    鍦ㄥ疄鐜板璞¤仛鍚堟椂錛岃瑙e喅鐨勪竴涓富瑕侀棶棰樻槸鍦ㄦ帴鍙f煡璇笂瀵圭敤鎴蜂繚鎸侀忔槑銆傚鎴蜂粠鏆撮湶鍑烘潵鐨勫唴閮ㄥ璞℃帴鍙h繘琛屾煡璇紝搴斿綋鏌ュ埌鐨勬槸澶栭儴瀵硅薄鐨勬帴鍙c傞偅涔堟敹鍒版煡璇㈡椂錛屽唴閮ㄥ璞$殑IUnknown搴斿綋鍘誨鎵樺閮ㄥ璞$殑IUnknown銆備絾鏄唴閮ㄥ璞′篃鍙兘涓嶈鐢ㄤ簬鑱氬悎錛屽簲璇ユ湁涓涓甯哥殑IUnknown銆傝繖鏍峰彲浠ヨ冭檻鎶婂唴閮ㄥ璞℃渶鍒濇敹鍒版煡璇㈢殑IUnknown璁炬垚涓涓唬鐞嗭紝瀹冩牴鎹仛鍚堜笌鍚︽妸鏌ヨ璇鋒眰杞氦緇欏閮ㄥ璞Unknown鎴栧唴閮ㄥ璞$殑姝e父IUnknown錛屽嵆鍐呴儴瀵硅薄瀹炵幇涓や釜IUnknown錛屼綔涓轟唬鐞嗙殑濮旀墭IUnknown鍜屾甯哥殑闈炲鎵業Unknown銆傚唴閮ㄥ璞¤繕瑕佺煡閬撳閮ㄥ璞Unknown錛屽茍涓旇兘鍒ゅ埆鑷韓鏄惁琚仛鍚堛傚彲浠ュ湪鍒涘緩鍐呴儴瀵硅薄鏃舵妸澶栭儴瀵硅薄IUnknown鎸囬拡浼犵粰瀹冿紝涓嶆槸鑱氬悎鏃朵紶閫掍竴涓┖鎸囬拡錛岃繖鏍峰唴閮ㄥ璞″氨寰楀埌浜嗚凍澶熶俊鎭?/p>

    寮曠敤璁℃暟鐨勭鐞嗕篃鏄竴鏍鳳紝鍐呴儴瀵硅薄鐨勫鎵業Unknown鍖哄埆琚仛鍚堜笌鍚︼紝璋冪敤澶栭儴瀵硅薄IUnknown鎴栬嚜韜殑闈炲鎵業Unknown銆?/p>

    褰撶劧錛屼粠澶栭儴瀵硅薄鎺ュ彛瑕佽兘鏌ュ埌鍐呴儴瀵硅薄鎺ュ彛銆傚閮ㄥ璞¢渶瑕佺煡閬撳唴閮ㄥ璞$殑IUnknown錛屼互鏌ヨ鎵瑕佹毚闇茬粰瀹㈡埛紼嬪簭鐨勬帴鍙c傝繖涓狪Unknown搴斿綋鏄唴閮ㄥ璞$殑闈炲鎵業Unknown銆?/p>



]]>
鎺掑簭鐨勬柟娉?/title><link>http://m.shnenglu.com/zliner/archive/2006/05/03/6595.html</link><dc:creator>渚濇棫鐨勫崥瀹?/dc:creator><author>渚濇棫鐨勫崥瀹?/author><pubDate>Wed, 03 May 2006 09:40:00 GMT</pubDate><guid>http://m.shnenglu.com/zliner/archive/2006/05/03/6595.html</guid><wfw:comment>http://m.shnenglu.com/zliner/comments/6595.html</wfw:comment><comments>http://m.shnenglu.com/zliner/archive/2006/05/03/6595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zliner/comments/commentRss/6595.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zliner/services/trackbacks/6595.html</trackback:ping><description><![CDATA[濡傛灉鏈変竴涓殢鏈烘帓鍒楃殑鏁存暟琛紝鎬庢牱灝嗗畠鎺掑簭鍛紵榪欐槸鐢熸椿涓篃緇忓父紕板埌鐨勯棶棰樸傛瘮濡傜粰涓緇勭墝鎺掑簭錛屾垜浠氬父浼氭庢牱鍋氬憿錛?br /><br />涓嶆柇浠庡師搴忓垪涓彇鍑哄厓绱犳潵鎺掓垚涓涓柊搴忓垪錛屽湪鏂板簭鍒楀艦鎴愮殑鏃跺欎繚璇佸畠鏈夊簭錛岃繖灝辨槸鎻掑叆鎺掑簭鐨勫姙娉曘傛彃鍏ユ帓搴忛渶瑕佹湁絀洪棿瀛樻斁鍜屾搷浣滄柊搴忓垪錛岃繖鍙互鍦ㄥ師搴忓垪鐨勭┖闂翠腑婊¤凍銆傛彃鍏ユ帓搴忛渶瑕佸ぇ閲忕殑姣旇緝鍜岀Щ鍔紝閲忕駭鏄疧(n*n)銆傛垜浠篃鍙互姣忔浠庣幇鏈夊厓绱犱腑鍙栧嚭鏈灝忓厓绱狅紝榪欐牱鏂板簭鍒楁帓涓嬫潵鑷劧鏄湁搴忕殑錛岃繖灝辨槸閫夋嫨鎺掑簭鐨勫姙娉曘傞夋嫨鎺掑簭闇瑕丱(n*n)鐨勬瘮杈冿紝鏈鍧忔渶濂芥儏鍐典笅閮戒竴鏍楓傝繖鏄竴涓己鐐癸紝鍜屼笌涔嬪縐扮殑鎻掑叆鎺掑簭姣旇緝錛岄夋嫨鎺掑簭瀵瑰師搴忓垪鐨勬儏鍐電己涔忛傚簲鎬э紝鍐掓場鎺掑簭鏄姝ょ殑鏀硅繘銆傚啋娉℃帓搴忎篃鍩烘湰浣跨敤鍘熷簭鍒楃殑絀洪棿錛屾瘡嬈″湪鐜版湁鍏冪礌涓繘琛屾瘮杈冧互瀵繪壘鏈灝忓厓绱狅紝騫墮氳繃浜ゆ崲閫愭鎶婂畠縐誨埌鐩稿簲浣嶇疆銆傚啋娉℃帓搴忓湪鍘熷簭鍒楃殑鍩虹涓婇愭璋冩暣寰楀埌鏂板簭鍒楋紝瀹冨彲浠ユ洿鍔犻傚簲鍘熷簭鍒楃殑鎯呭喌錛屽湪鏈濂芥儏鍐典笅鏃墮棿涓篛(n)銆傝繖涓夌鎺掑簭鏄渶鍩烘湰鐨勶紝鍏跺畠鏂規硶閮芥槸浠庡悇縐嶈搴﹀瀹冧滑榪涜鏀硅繘銆?br /><br />涓夌鍩烘湰鎺掑簭閮界潃鐪間簬浠庡師搴忓垪褰㈡垚鏂板簭鍒楃殑榪囩▼銆傝繖鏄渶鍩烘湰鐨勶紝浣嗚繕鍙互鎶婃暣涓繃紼嬬敤鍒嗘不鎴栨笎榪涚殑鎬濇兂鏉ュ鐞嗐傚叿浣撶殑鏀硅繘鏂規硶鏈夊縐嶏紝甯屽皵鎺掑簭錛屽揩閫熸帓搴忥紝褰掑茍鎺掑簭絳夌瓑錛屾垜浠幇鍦ㄥ彲浠ユ璧忓畠浠殑鎬濇兂錛屼絾鏄綋鍒濇瘡縐嶆柟娉曠殑鍙戠幇閮芥槸閲嶈鐨勬垚鏋滐紝闇瑕佸鎺掑簭闂鏈夋墡瀹炵殑璁よ瘑錛屼篃闇瑕佸垱閫犵殑鐏墊劅銆?br /><br />甯屽皵鎺掑簭鎶婂師搴忓垪鍒嗙粍錛屾瘡涓緇勮繘琛屾彃鍏ユ帓搴忥紝浠庤緝灝忕殑鍒嗙粍寮濮嬮愭笎鎵╁ぇ錛岀洿鍒版暣涓簭鍒椾綔涓轟竴緇勩傚垎緇勫厓绱犳槸闂撮殧閫夊彇鐨勶紝杈冨皬鐨勫垎緇勬帓搴忓畬鎴愬悗錛屾暣涓簭鍒楀氨鍦ㄤ竴涓緝澶х殑灝哄害涓婃湁搴忎簡錛岄殢鐫鍒嗙粍鐨勬墿澶э紝搴忓垪鍦ㄨ秺鏉ヨ秺灝忕殑灝哄害涓婃湁搴忥紝鐩村埌瀹屽叏鏈夊簭銆傚笇灝旀帓搴忓埄鐢ㄦ彃鍏ユ帓搴忓涔愯鎯呭喌鐨勯傚簲鎬э紝鑷《鍚戜笅娓愯繘澶勭悊錛岄伩鍏嶄簡鐩存帴鍦ㄥ皬灝哄害涓婅繘琛屽鐞嗙殑鐩茬洰鎬с?br /><br />褰掑茍鎺掑簭鍙嶆槧鍑轟竴縐嶈嚜搴曞悜涓婄殑鍒嗘不鎬濇兂錛屽叾鏃墮棿涓篛(n*log(n))銆?br /><br />蹇熸帓搴忛噰鐢ㄤ簡鑷《鍚戜笅鐨勫垎娌繪濇兂錛屽叾鍋氭硶鍜屽綊騫舵帓搴忔湁鏌愮瀵圭О鎬с?br /><br />鍩烘暟鎺掑簭涔熸槸鑷《鍚戜笅鐨勫垎娌繪濇兂錛屽畠浠庡叧閿瓧鏈韓琛¢噺闂鐨勮В鍐崇▼搴︺?br /><br /><br /><img src ="http://m.shnenglu.com/zliner/aggbug/6595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zliner/" target="_blank">渚濇棫鐨勫崥瀹?/a> 2006-05-03 17:40 <a href="http://m.shnenglu.com/zliner/archive/2006/05/03/6595.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁版嵁搴撹寖寮忓強鍏舵兜涔?/title><link>http://m.shnenglu.com/zliner/archive/2006/05/02/6562.html</link><dc:creator>渚濇棫鐨勫崥瀹?/dc:creator><author>渚濇棫鐨勫崥瀹?/author><pubDate>Tue, 02 May 2006 09:15:00 GMT</pubDate><guid>http://m.shnenglu.com/zliner/archive/2006/05/02/6562.html</guid><wfw:comment>http://m.shnenglu.com/zliner/comments/6562.html</wfw:comment><comments>http://m.shnenglu.com/zliner/archive/2006/05/02/6562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zliner/comments/commentRss/6562.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zliner/services/trackbacks/6562.html</trackback:ping><description><![CDATA[ <p dir="ltr" style="MARGIN-RIGHT: 0px">2NF浠ヤ笂鐨勮寖寮忛兘鏄鍏崇郴涓婄殑渚濊禆榪涜闄愬埗錛屽叾涓渶閲嶈鐨勬槸3NF鍜孊CNF銆?/p> <ul> <li>聽BCNF錛氭墍鏈夐潪騫沖嚒渚濊禆閮戒互瓚呴敭涓哄喅瀹氬瓙銆備竴涓睘鎬ч泦鍙湁鍖呭惈浜嗘暣涓殑閿紝鎵嶈兘鍐沖畾闆嗗鐨勫睘鎬с? </li> <li>3NF錛氬叾闈炲鉤鍑′緷璧朮->A蹇呴』婊¤凍錛歑鏄秴閿紝鎴栬匒鏄富灞炴с?NF姣擝CNF鏈夋墍鏀炬澗錛屽厑璁稿惈閿笉瀹屽叏鐨勫睘鎬ч泦鍐沖畾闆嗗鐨勫睘鎬э紝浣嗗繀欏繪槸涓誨睘鎬с? </li> <li>涓嶇鍚?NF鐨勬儏鍐墊湁涓ょ: <ol><li>閿殑鐪熷瓙闆嗗喅瀹氶潪涓誨睘鎬э紝鍗抽潪涓誨睘鎬у閿殑閮ㄥ垎渚濊禆錛? </li><li>鏃㈤潪瓚呴敭涔熼潪閿殑鐪熷瓙闆嗗喅瀹氶潪涓誨睘鎬э紝鐢辨灝嗗彲璇佹槑錛屽瓨鍦ㄩ潪涓誨睘鎬у閿殑浼犻掍緷璧栥?/li></ol>濡傛灉涓涓叧緋諱笉婊¤凍2浣嗘弧瓚?錛岀О姝ゅ叧緋葷鍚?NF銆?</li> </ul> <p>2NF鍜?NF鐨勬兜涔夋槸錛氶敭鏄叧緋葷殑鏍囪瘑淇℃伅錛岄潪涓誨睘鎬ф槸闄勫睘淇℃伅銆傚鏋滈檮灞炰俊鎭鏍囪瘑淇℃伅鐨勪緷璧栦笉澶熺揣瀵嗭紝鍏崇郴鐨勮涔夊崟綰у氨宸紝浠庤屽鏄撳嚭鐜板悇縐嶆洿鏂板紓甯搞?</p> <p>濡傛灉榪濆弽2NF錛屾棦瀛樺湪闈炰富灞炴у閿殑閮ㄥ垎渚濊禆錛屼細鏈変粈涔堥棶棰橈紵渚嬪鍏崇郴妯″紡SCGT(S#,C#,G,TN)錛孲#鏄鐢熷彿錛孋#鏄紼嬪彿錛孏鏄垚緇╋紝TN鏄換璇炬暀甯堝鍚嶏紝鍋囪姣忛棬璇懼彧鏈変竴涓暀甯堛?S#,C#)鏄敭錛孋#->TN鏄潪涓誨睘鎬у閿殑閮ㄥ垎渚濊禆錛屽洜涓哄畠鐨勫瓨鍦ㄤ細浜х敓涓夌鏇存柊寮傚父錛?). 涓嶅紑璇劇殑鏁欏笀濮撳悕鏃犳硶鎻掑叆錛?). 涓闂ㄨ鐨勬墍鏈夊鐢熼兘閫閫夛紝鍒欎換璇炬暀甯堝鍚嶆棤娉曚繚鐣欙紱3). 涓闂ㄨ鏇存崲鏁欏笀鏃訛紝蹇呴』瀵歸夎璇劇殑鎵鏈夊鐢熻繘琛屼慨鏀廣傞潪涓誨睘鎬у閿殑閮ㄥ垎渚濊禆鍙嶆槧浜嗛檮灞炰俊鎭拰鏍囪瘑淇℃伅鐨勭己涔忔暣浣撲竴鑷存э紝鎵浠ヤ細浜х敓浠ヤ笂闂銆?/p> <p>濡傛灉絎﹀悎2NF錛屼絾榪濆弽3NF錛屽嵆瀛樺湪闈炰富灞炴у閿殑浼犻掍緷璧栵紝浼氭湁浠涔堥棶棰橈紵渚嬪鍏崇郴妯″紡SDL(S#,DEPT,LOC)錛孲#鏄鐢熷彿錛孌EPT鏄墍鍦ㄧ郴錛孡OC鏄郴鐨勫姙鍏湴錛岃繖閲孲#鏄敭錛孲#->DEPT錛孌EPT-/>S#錛孌EPT->LOC錛孡OC浼犻掍緷璧栦簬S#錛屽洜涓哄畠鐨勫瓨鍦ㄤ細浜х敓涓夌鏇存柊寮傚父錛?). 濡傛灉涓涓郴鏂版垚绔嬪皻鏈嫑鐢燂紝鍒欐棤娉曟彃鍏ワ紱2). 濡傛灉涓涓郴涓嶅啀鎷涚敓錛屼絾浠嶄負鍏朵粬緋誨紑璇撅紝鍒欑幇鏈夊鐢熸瘯涓氬悗錛岀郴鐨勪俊鎭棤娉曚繚鐣欙紱3). 涓涓郴鏇存崲鍔炲叕鍦版椂錛屽繀欏誨璇ョ郴鐨勬墍鏈夊鐢熻繘琛屼慨鏀廣傞潪涓誨睘鎬у閿殑浼犻掍緷璧栧弽鏄犱簡闄勫睘淇℃伅鍜屾爣璇嗕俊鎭己涔忕洿鎺ヤ竴鑷存э紝鎵浠ヤ細浜х敓浠ヤ笂闂銆傜己涔忕洿鎺ヤ竴鑷翠笉濡傜己涔忔暣浣撲竴鑷撮偅鏍蜂弗閲嶏紝鎵浠ュ埌浜?NF鎵嶆帓闄ゃ?/p> <p>閭d箞BCNF鐨勬兜涔夊湪鍝噷鍛紵<br /><br />2NF鍜?NF瀵逛竴涓叧緋繪ā寮忎腑鐨勯潪涓誨睘鎬у姞浠ラ檺鍒訛紝鑰屽拷鐣ラ敭涔嬮棿鐨勫叧緋匯傚鏋滀竴涓富灞炴т緷璧栧惈閿笉瀹屽叏鐨勫睘鎬х粍鎰忓懗鐫浠涔堝憿錛熷彲浠ヨ瘉鏄庯紝璇ヤ緷璧栨秹鍙婁笉姝竴涓敭錛屽叾鍐沖畾瀛愭湁涓ょ鎯呭喌錛屼竴縐嶆槸閮ㄥ垎閿紝涓縐嶆槸鍚儴鍒嗛敭鍜岄敭澶栫殑灞炴с傜涓縐嶆儏鍐典笅瀛樺湪涓涓敭涔嬪鐨勫睘鎬у璇ラ敭鐨勯儴鍒嗕緷璧栵紱絎簩縐嶆儏鍐典笅錛屽彇涓涓笉鍚墠榪頒富灞炴х殑閿紝鏄撶煡瀛樺湪璇ュ睘鎬у璇ラ敭鐨勪紶閫掍緷璧栵紝鍗充竴涓敭澶栫殑灞炴у璇ラ敭鐨勪紶閫掍緷璧栵紝鎺掗櫎榪欎袱縐嶆儏鍐靛氨寰楀埌BCNF銆備負浠涔堣榪欐牱鍋氬憿錛熷洜涓烘湁澶氫釜閿殑鎯呭喌涓嬶紝蹇呴』鐓ч【姣忎竴涓敭錛屽鏋滈敭涔嬪鐨勫睘鎬у拰璇ラ敭涓嶈兘淇濇寔鏁翠綋鍜岀洿鎺ョ殑涓鑷達紝涔熷彲鑳戒駭鐢熸洿鏂板紓甯搞備緥濡係CZ(S,C,Z)錛孲錛孋錛孼鍒嗗埆琛ㄧず琛楅亾錛屽煄甯傦紝閭紪錛屽叧緋繪ā寮忎笂鐨勪緷璧栭泦涓簕SC->Z,Z->C}錛孲C鍜孲Z閮芥槸閿傚鏋滄彃鍏ヤ竴涓煄甯傜殑鎬婚偖緙栵紝蹇呴』鍊熷姪涓涓閬擄紝鍒犻櫎榪欎釜琛楅亾錛屽煄甯傜殑鎬婚偖緙栦篃琚垹闄わ紝鍑虹幇榪欑鎯呭喌鏄洜涓篊涓嶴Z閿己涔忔暣浣撲竴鑷存с?br /><br /><br />鍙傝冿細</p> <p>鐜嬭兘鏂屻婃暟鎹簱緋葷粺鏁欑▼銆?鐢靛瓙宸ヤ笟鍑虹増紺?/p> <img src ="http://m.shnenglu.com/zliner/aggbug/6562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zliner/" target="_blank">渚濇棫鐨勫崥瀹?/a> 2006-05-02 17:15 <a href="http://m.shnenglu.com/zliner/archive/2006/05/02/6562.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C/S閫氫俊鍜學insock緙栫▼http://m.shnenglu.com/zliner/archive/2006/05/02/6553.html渚濇棫鐨勫崥瀹?/dc:creator>渚濇棫鐨勫崥瀹?/author>Tue, 02 May 2006 04:46:00 GMThttp://m.shnenglu.com/zliner/archive/2006/05/02/6553.htmlhttp://m.shnenglu.com/zliner/comments/6553.htmlhttp://m.shnenglu.com/zliner/archive/2006/05/02/6553.html#Feedback0http://m.shnenglu.com/zliner/comments/commentRss/6553.htmlhttp://m.shnenglu.com/zliner/services/trackbacks/6553.html

1. 瀹㈡埛-鏈嶅姟鍣ㄩ氫俊涓殑鍩烘湰闂

瀹㈡埛鍜屾湇鍔″櫒閫氫俊鏄負浜嗕嬌鐢ㄦ湇鍔★紝涓烘鍦ㄤ紶杈撴満鍒剁殑鍩虹涓婅璁″崗璁紝閫氳繃瀵歸氫俊琛屼負鐨勮鑼冿紝瀹炵幇閫氫俊鐨勭洰鐨勶紝騫惰В鍐充紶杈撲腑鐨勯棶棰樸?/p>

浼犺緭鏈哄埗閫氬父鐢變笅灞傚崗璁彁渚涳紝鏍規嵁涓嶅悓鐨勯氫俊闇瑕侀夋嫨涓嶅悓鐨勪笅灞傚崗璁紝榪欐槸涓涓熀鏈殑闂銆傚搴旂敤鍗忚鏉ヨ錛屽彲鐢ㄧ殑浼犺緭鏈哄埗鏈夊彲闈犺繛鎺ョ殑瀛楄妭嫻佺被鍨嬪拰涓嶅彲闈犳棤榪炴帴鐨勬暟鎹姤綾誨瀷銆?/p>

鏈嶅姟鍣ㄥ鐞嗗ぇ閲忓鎴風殑璇鋒眰錛屼粠鑰屽茍鍙戞槸鏈嶅姟鍣ㄧ殑涓涓熀鏈棶棰橈紝濡備綍澶勭悊榪欎釜闂涔熷彇鍐充簬閫氫俊闇瑕併傚鐞嗘柟寮忎笂錛屾湇鍔″櫒鍙互鏄驚鐜殑鎴栧茍鍙戠殑錛屽茍鍙戞湇鍔″櫒鏈夊縐嶅疄鐜版柟寮?寮傛I/O錛屽綰跨▼鍜屽榪涚▼)銆?/p>

涓浠朵簨鎯呰兘鏃犻噸澶嶅湴榪炵畫榪涜錛岄氬父浼氳幏寰楁洿濂界殑鏁堢巼錛岃繖瑕佹眰涓諱綋濮嬬粓鐭ラ亾褰撳墠鐨勭姸鎬併備竴嬈¢氫俊榪囩▼鐨勮繛緇у彇鍐充簬閫氫俊鍙屾柟錛屽畠浠兘瑕佺煡閬撻氫俊榪涜鐨勭姸鎬併傝繖瀵瑰鎴蜂竴鑸笉鎴愰棶棰橈紝浣嗘湇鍔″櫒瑕佸拰澶ч噺瀹㈡埛閫氫俊錛屼笉涓瀹氳兘涓烘瘡涓鎴風殑姣忔閫氫俊淇濆瓨鐘舵併傚鏋滄湇鍔″櫒鏄湁鐘舵佺殑錛岄偅涔堝氨鏇村揩鍦拌綆楀搷搴旓紝鍑忓皯閫氫俊鐨勬暟鎹噺銆備絾鏄紶杈撳拰瀹㈡埛鐨勬晠闅滀嬌鏈夌姸鎬佹湇鍔″櫒闈復寰堝ぇ闂錛屽綋浼犺緭涓嶅彲闈?鎶ユ枃閲嶅錛屼涪澶憋紝涔卞簭)鏃訛紝鏈嶅姟鍣ㄧ淮鎶ょ殑鐘舵佷細鍜屽鎴峰け鍘諱竴鑷達紝涓涓笉鏂穿婧冮噸鍚殑瀹㈡埛浼氶犳垚鐘舵佷俊鎭笉鑳藉彂鎸ヤ綔鐢紝鑰岀淮鎶ゅ紑閿鍗存瀬澶у鍔犮?/p>

榪欏氨鎻愬嚭浜嗗鎴?鏈嶅姟鍣ㄩ氫俊涓殑涓変釜鍩烘湰闂錛屽畠浠殑瑙e喅鏂規閮藉彇鍐充簬瀹為檯闇瑕侊紝瀹㈡埛-鏈嶅姟鍣ㄩ氫俊涓湁鍝簺鎯呭喌鐨勯渶瑕佸憿錛?/p>

  • 鏄惁瑕佹眰鍙潬浼犺緭錛?
  • 鏄惁闇瑕佹湇鍔″櫒榪涜澶ч噺澶勭悊銆傚寰幆鏈嶅姟鍣ㄨ繘琛屽垎鏋愬彲浠ョ煡閬擄紝闇瑕佸ぇ閲忓鐞嗙殑閫氫俊鐢ㄥ驚鐜柟妗堝彲鑳戒細涓㈠け璇鋒眰錛岀敤騫跺彂鏂規榪樺彲浠ユ彁楂樻湇鍔″櫒璧勬簮鍒╃敤鐜囷紝鏀瑰杽鎬ц兘錛屽彧瑕佸皯閲忓鐞嗙殑閫氫俊鍒欐棤娉曞繊鍙楀紑閿澶х殑瑙e喅鏂規銆?
  • 鍦ㄥ眬鍩熺綉榪樻槸浜掕仈緗戠幆澧冧笅錛屽眬鍩熺綉涓紶杈撳緢灝戝嚭閿欙紝浜掕仈緗戠幆澧冨垯涓嶇劧錛?


閫氬父鏍規嵁鍓嶄袱涓熀鏈棶棰樻妸鏈嶅姟鍣ㄥ疄鐜板垎涓哄洓縐嶇被鍨嬶紝瀹冧滑鐨勯傜敤鑼冨洿濡備笅錛?/p>

  • 寰幆鏃犺繛鎺ユ湇鍔″櫒錛屽皯閲忓鐞嗙殑閫氫俊鏃訛紝騫朵笖鍦ㄥ眬鍩熺綉涓垨涓嶈姹傚彲闈犱紶杈撱傝繖縐嶅仛娉曚富瑕佹槸涓轟簡閬垮厤寮閿銆?
  • 寰幆榪炴帴鏈嶅姟鍣紝杈冨皯鐢紝涓昏鏄驚鐜殑鏂瑰紡涓嶅楂樻晥錛屽洜涓鴻繛鎺ユ湁涓瀹氬紑閿錛屽搷搴旀椂闂村彲鑳戒笉浣庛傚湪灝戦噺澶勭悊騫惰姹傚彲闈犳х殑鎯呭喌涓嬩嬌鐢ㄣ?
  • 騫跺彂鏃犺繛鎺ユ湇鍔″櫒錛屽緢灝戠敤錛屽洜涓鴻緇欐瘡涓姹傚紑綰跨▼錛屽紑閿澶ぇ銆傚湪涓嶈姹傚彲闈犳х殑鎯呭喌涓嬶紝濡傛灉綰跨▼寮閿榪滃皬浜庤綆楀搷搴斿紑閿錛屾垨鑰呭茍鍙戝彲浠ヨ鍚勮姹傜殑I/O騫惰錛屾垨鑰呭驚鐜柟妗堜細涓㈠け璇鋒眰鏃跺彲浠ヨ冭檻銆?
  • 騫跺彂榪炴帴鏈嶅姟鍣紝甯哥敤銆?


2. winsock鍩烘湰鍑芥暟鐨勪嬌鐢?/p>

winsock鐨勫熀鏈嚱鏁版湁WSAStartup()錛學SACleanup()錛宻ocket()錛宑losesocket()錛宐ind()錛宭isten()錛宎ccept()錛?connect()錛宻end()鍜宺ecv()銆?/p>

浣跨敤榪欎簺鍑芥暟錛屽鎴風鐨勫ぇ姒傜畻娉曟槸錛?/p>

  1.  璋冪敤WSAStartup()鍒濆鍖杦insock搴撱?
  2.  璋冪敤socket()鍒涘緩濂楁帴瀛楋紝榪斿洖濂楁帴瀛楁弿榪扮s銆?
  3.  鎸囧畾榪滅▼濂楁帴瀛楀湴鍧sa錛屽s璋冪敤connect()錛屽悜sa鏍囪瘑鐨勬湇鍔¤繘紼嬭姹傝繛鎺ャ?
  4.  榪炴帴鎴愬姛鍚庯紝瀵箂璋冪敤send()鍙戦佽姹傦紝璋冪敤recv()鎺ユ敹鍝嶅簲錛屽姝ゅ弽澶嶇洿鍒板畬鎴愪換鍔°?
  5.  瀵箂璋冪敤closesocket()鍏抽棴榪炴帴銆?
  6.  涓嶅啀鍙戣搗榪炴帴澶勭悊鏂扮殑浠誨姟鏃訛紝璋冪敤WSACleanup()閲婃斁winsock搴撱?

鏈嶅姟鍣ㄧ鐨勫ぇ姒傜畻娉曟槸錛?/p>

  1. 璋冪敤WSAStartup()鍒濆鍖杦insock搴撱?
  2. 璋冪敤socket()鍒涘緩濂楁帴瀛楋紝榪斿洖濂楁帴瀛楁弿榪扮s銆?
  3. 瀵箂璋冪敤bind()錛屽皢鍏剁粦瀹氬埌鏈湴鐨勫鎺ュ瓧sa銆?
  4. 璋冪敤listen()錛屽皢s緗負琚姩妯″紡銆傛鏃跺紑濮嬩睛鍚鎴風鐨勮繛鎺ヨ姹傦紝灝嗗叾鏀懼叆涓涓槦鍒椼?
  5. 瀵箂璋冪敤accept()錛屽嵆浠庤姹傞槦鍒椾腑鍙栧嚭涓欏癸紝鎺ュ彈璇ヨ繛鎺ュ悗榪斿洖涓涓柊鐨勫鎺ュ瓧鎻忚堪絎'錛屼互鍙婂搴斿鎴風鐨勫鎺ュ瓧鍦板潃sa'銆?
  6. 瀵箂'璋冪敤recv()鎺ユ敹璇鋒眰錛岃皟鐢╯end()鍙戦佸搷搴旓紝濡傛鍙嶅鐩村埌瀹屾垚浠誨姟銆?
  7. 瀵箂'璋冪敤closesocket()鍏抽棴璇ヨ繛鎺ャ?
  8. 閲嶅5鍒?鐨勮繃紼嬨?
  9. 浠?閫鍑哄悗錛岃皟鐢╓SACleanup()閲婃斁winsock搴撱?

鏈変互涓嬪嚑鐐歸渶瑕佽繘涓姝ヨ鏄庯紝

1). 瀹㈡埛绔皟鐢╟onnect()鍜屾湇鍔″櫒绔皟鐢╝ccept()鎴愬姛鍚庡皢鍦ㄥ鎴瘋繘紼嬪拰鏈嶅姟鍣ㄨ繘紼嬩箣闂村緩绔嬩竴涓猅CP榪炴帴銆傝繛鎺ヤ袱绔殑姣忎釜濂楁帴瀛楁弿榪扮閮藉寘鍚竴涓湰鍦扮鐐瑰湴鍧鍜屼竴涓繙紼嬬鐐瑰湴鍧銆傛墍浠ュ湪浣跨敤榪炴帴濂楁帴瀛楀彂閫佹暟鎹椂涓嶇敤鎸囩ず鐩殑鍦板潃銆?/p>

2). 澶氬涓諱富鏈虹殑IP鍦板潃閫夋嫨闂銆備粠涓婇潰鐨勭畻娉曞鏄撴彁鍑鴻繖鏍風殑闂錛屼負浠涔堝鎴風鍦ㄤ嬌鐢ㄥ鎺ュ瓧鏃朵笉緇戝畾绔偣鍦板潃錛熼氬父鐨勪富鏈哄彧鏈変竴涓狪P錛屼絾鏄瀹夸富涓繪満鏈夊涓狪P鍦板潃錛屽湪榪欑鎯呭喌涓嬶紝瀹㈡埛绔負濂楁帴瀛楁寚瀹氱殑IP鍙兘涓庡疄闄呭彂閫佹椂緇忚繃鐨処P涓嶇錛屾墍浠ュ厑璁稿鎴風涓嶆寚瀹氬鎺ュ瓧鍦板潃錛岃岀敱TCP/IP杞歡鍦ㄥ疄闄呭彂閫佹椂鎸囧畾IP錛屽悓鏃墮夋嫨涓涓湭鐢ㄨ繃鐨勭鍙e彿錛岃繖姝f槸鍦╟onnect()璋冪敤涓畬鎴愮殑銆傞偅涔堟湇鍔″櫒绔氨涓嶅瓨鍦ㄥ悓鏍風殑鎯呭喌鍚楋紵涓嶆槸錛屽湪瀹冭皟鐢╞ind()鏃舵寚瀹氫竴涓鎺ュ瓧鍦板潃錛屽叾绔彛閮ㄥ垎閲囩敤搴旂敤鍗忚鐨勭啛鐭ョ鍙o紝鑰孖P鍦板潃閮ㄥ垎鏈夌潃鍚屾牱鐨勯棶棰樸備負姝ゅ畾涔変簡涓涓唬琛ㄧ粺閰嶅湴鍧鐨勫父閲廔NADDR_ANY錛岀敤瀹冩寚紺篒P鍦板潃閮ㄥ垎銆傚疄闄呬嬌鐢ㄧ殑IP浠嶇劧鏄敱TCP/IP杞歡鍒嗛厤銆?/p>

3). TCP涓轟竴涓繛鎺ョ殑鍙戦佺鍜屾帴鏀剁鍚勭淮鎶や竴涓紦鍐插尯銆傚綋鍙戦佺緙撳啿鍖烘弧鐨勬椂鍊欙紝send()璋冪敤浼氶樆濉烇紝鍦ㄦ帴鏀剁緙撳啿鍖轟負絀虹殑鏃跺欙紝recv()璋冪敤浼氶樆濉炪備負浠涔堣鍦ㄩ氫俊榪涚▼鍜孴CP榪炴帴涔嬮棿緇存姢涓涓棿鎺ュ眰鍛紵鍙兘鏄負浜嗗湪涓绔湁澶氫釜榪涚▼瑕佷嬌鐢ㄤ俊閬撶殑鎯呭喌涓嬶紝鍦ㄥ涓繘紼嬩箣闂磋繘琛屼俊閬撳垎閰嶇殑鍗忚皟銆傛瘮濡傚湪鍙戦佺錛屼俊閬撲紶杈撴暟鎹椂send()璋冪敤鍙互緇х畫鎵ц錛屽涓繘紼嬬殑send()璋冪敤鍚岀紦鍐插尯鎵撲氦閬擄紝褰兼褰卞搷涓嶅ぇ錛屽洜涓鴻鍐欑紦鍐插尯閫熷害寰堝揩錛岃屼俊閬撳悓緙撳啿鍖烘墦浜ら亾錛岃繖鏃跺彲浠ュ鍚勮繘紼嬬殑鍙戦佹暟鎹繘琛屽崗璋冿紝瀹炵幇鍏鉤鐨勪俊閬撳垎閰嶃傚彟澶栵紝鍦═CP涓湁婊戝姩紿楀彛姒傚康錛屾槸鐢ㄤ簬嫻侀噺鎺у埗鐨勶紝鍓嶈堪緙撳啿鍖哄拰婊戝姩紿楀彛鏈変粈涔堝叧緋伙紵鎴戠幇鍦ㄤ笉澶竻妤氥?/p>

4). 濂楁帴瀛楃殑鍏抽棴闂銆傚湪瀹㈡埛鏈哄拰鏈嶅姟鍣ㄩ氳繃TCP榪炴帴瀹屾垚鏁版嵁浜ゆ崲鍚庯紝鏈変竴涓畨鍏ㄥ叧闂殑闂銆備竴鏂歸潰錛屾湇鍔″櫒涓嶈兘鍏抽棴榪炴帴錛屽洜涓哄鎴鋒満鍙兘榪樻湁璇鋒眰錛屽彟涓鏂歸潰錛屽鎴鋒満铏界劧鐭ラ亾浣曟椂涓嶅啀璇鋒眰錛屼絾鏄畠涓嶇煡閬撴湇鍔″櫒鐨勫搷搴斾綍鏃跺彂閫佸畬錛屽洜涓烘湁浜涘簲鐢ㄥ崗璁殑鍝嶅簲鏁版嵁閲忎笉紜畾銆備負姝ら噰鐢ㄩ儴鍒嗗叧闂殑鍔炴硶錛岃櫧鐒惰繛鎺ユ槸鍙屽悜鐨勶紝浣嗘槸鍏佽鍦ㄤ竴涓柟鍚戜笂鍏抽棴瀹冿紝褰撳鎴風涓嶅啀璇鋒眰鏃訛紝鍙互閮ㄥ垎鍏抽棴榪炴帴錛屼嬌鏈嶅姟鍣ㄦ敹鍒頒竴涓俊鍙鳳紝濡傛灉鍝嶅簲鍙戦佸畬浜嗭紝鏈嶅姟鍣ㄥ氨鍙互鍏抽棴榪炴帴錛屾鏃惰繛鎺ヨ瀹屽叏鍏抽棴

3. 濂楁帴瀛楁帴鍙d腑鐨勭鐐瑰湴鍧

绔偣鍦板潃鐢ㄦ潵琛ㄧず閫氫俊鐨勮繘紼嬶紝鏄紶杈撳眰鍗忚鍙婂叾濂楁帴瀛楁帴鍙d腑鐨勯噸瑕佹蹇點備笉鍚岀殑鍗忚鏃忓彲浠ョ敤涓嶅悓鏂瑰紡琛ㄧず绔偣鍦板潃錛屼竴涓崗璁棌榪樺彲浠ユ湁澶氫釜鍦板潃鏃忥紝姣忎釜鍦板潃鏃忕殑鍦板潃鏍煎紡涓嶅悓銆俆CP/IP鍙湁涓涓湴鍧鏃忥紝瀹冪殑绔偣鍦板潃鍖呮嫭涓涓?2浣岻P鍦板潃鍜屼竴涓?6浣嶇鍙e彿銆傚湪鍗忚鏃忓拰鍦板潃鏃忕殑鍩虹涓婏紝濂楁帴瀛楁帴鍙g敤鏇翠負鍏蜂綋鐨勭粨鏋勬潵琛ㄧず绔偣鍦板潃銆?/p>

濂楁帴瀛楁槸涓縐嶉傜敤浜庡涓崗璁棌鐨勬帴鍙o紝騫跺厑璁鎬竴涓崗璁棌浣跨敤澶氫釜鍦板潃鏃忋俆CP/IP鍗忚鏃忓強鍏跺敮涓鍦板潃鏃忕殑鏍囪瘑鍒嗗埆鏄疨F_INET鍜孉F_INET銆傜敱浜庡鎺ュ瓧鎺ュ彛鐨勯氱敤鎬э紝瀹冩彁渚涗竴涓氱敤鐨勫湴鍧緇撴瀯錛屽叾鏍煎紡涓?鍦板潃鏃忥紝璇ユ棌涓殑濂楁帴瀛楀湴鍧)銆傚鎺ュ瓧浣滀負涓涓帴鍙f爣鍑嗭紝鍙互鏈変笉鍚屽疄鐜幫紝浠ヤ笅鎴戜滑鍙璁簑indows濂楁帴瀛椼?/p>

濡備笅瀹氫箟鐨剆ockaddr瀹炵幇浜嗗墠榪伴氱敤鍦板潃緇撴瀯錛?/p>

// winsock2.h

struct sockaddr {
        u_short sa_family;              /* address family */
        char    sa_data[14];            /* up to 14 bytes of direct address */
};

sockaddr鐨勯氱敤鎬ф槸鐩稿鐨勶紝鏌愪簺鍦板潃鏃忎笉閫傚悎榪欎釜緇撴瀯銆?/p>

灝界sockaddr閫傚悎浜嶵CP/IP鍗忚鏃忥紝浣嗘槸winsock榪樺畾涔変簡TCP/IP涓撶敤鐨勫湴鍧鏍煎紡錛?/p>

// winsock2.h

struct sockaddr_in {
        short   sin_family;
        u_short sin_port;
        struct  in_addr sin_addr;
        char    sin_zero[8];
};

sin_family鍩熷彇鍊兼亽涓篈F_INET銆傚叾涓殑in_addr緇撴瀯琛ㄧずIP鍦板潃錛屽畾涔夊涓嬶紝

//winsock2.h

struct in_addr {
        union {
                struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
                struct { u_short s_w1,s_w2; } S_un_w;
                u_long S_addr;
        } S_un;
#define s_addr  S_un.S_addr
                                /* can be used for most TCP & IP code */
#define s_host  S_un.S_un_b.s_b2
                                /* host on imp */
#define s_net   S_un.S_un_b.s_b1
                                /* network */
#define s_imp   S_un.S_un_w.s_w2
                                /* imp */
#define s_impno S_un.S_un_b.s_b4
                                /* imp # */
#define s_lh    S_un.S_un_b.s_b3
                                /* logical host */
};

涓轟簡淇濊瘉杞歡鐨勫彲縐繪鎬т笌鍙淮鎶ゆэ紝璁塊棶TCP/IP鐨勪唬鐮佷笉搴斾嬌鐢╯ockaddr銆傚彧浣跨敤TCP/IP鐨勫簲鐢ㄧ▼搴忓彲浠ュ彧浣跨敤sockaddr_in錛岃屾案榪滀笉鐢╯ockaddr銆?/p>

4. winsock紼嬪簭瀹炰緥

銆妚c6鎶鏈唴騫曘嬬殑渚嬬▼ex34a鍖呮嫭涓涓獁eb鏈嶅姟鍣ㄥ拰涓変釜瀹㈡埛錛屾湇鍔″櫒鐢╳insock瀹炵幇錛屼竴涓鎴風敤winsock錛屽彟涓や釜鐢╳ininet銆傛垜浠互winsock瀹炵幇鐨勬湇鍔″櫒鍜屽鎴蜂負渚嬨?/p>

CBlockingSocket瀵瑰悇鎺ュ彛鍑芥暟榪涜灝佽錛屼嬌瀹冧滑鐨勮皟鐢ㄥ彲浠ョ粺涓鎶ラ敊銆傛妸閿欒媯鏌ュ拰鍑芥暟璋冪敤涓璧峰皝瑁呭彲浠ラ伩鍏嶆瘡嬈¤皟鐢ㄨ繖浜涘嚱鏁版椂閮芥閿欍備負緇熶竴鎶ラ敊錛岄噰鐢ㄤ簡寮傚父鏈哄埗錛屽湪媯鍑洪敊璇悗鎶涘嚭寮傚父錛岀劧鍚庣粺涓榪涜寮傚父澶勭悊銆傚紓甯告満鍒朵嬌鎴戜滑鍙互鎶婇敊璇鏌ュ拰閿欒澶勭悊鍒嗗紑錛屾鏌ュ繀欏繪槸鍒嗘暎鐨勶紝浣嗘槸澶勭悊鍙互閫傚綋闆嗕腑錛屼嬌浠g爜綆鍖栥?/p>

CHttpBlockingSocket鏍規嵁鎺ユ敹http鎶ユ枃鐨勭壒鐐瑰CBlockingSocket榪涜浜嗘墿灞曘傛垚鍛樺嚱鏁癛eadHttpHeaderLine()鍙互浠嶵CP榪炴帴涓寜琛屾帴鏀跺瓧絎?瀹冨紩鍏ヤ簡涓涓紦鍐插尯錛岀紦鍐插尯涓敹鍒扮殑瀛楃鏋勬垚涓琛屽悗鍐嶈緭鍑恒傝緙撳啿鍖虹殑闀垮害闇瑕佽兘澶熷綰蟲瘡涓琛屽瓧絎︼紝婧㈠嚭鏃舵姤閿欍傛帴鏀惰緭鍑鴻鐨勭紦鍐插尯涔熷彲鑳介暱搴︿笉瓚籌紝榪欐椂鎺ユ敹鐨勬暟鎹笉瓚充竴琛岋紝鍦ㄨ皟鐢≧eadHttpHeaderLine()鏃惰娉ㄦ剰榪欎竴鐐?錛孯eadHttpResponse()鐢ㄤ簬鎺ユ敹棣栭儴琛屼箣鍚庢墍鏈夌殑鍝嶅簲錛屽綋璋冪敤鑰呮彁渚涚殑緙撳啿鍖轟笉瓚蟲椂浼氭姤閿欍傜紦鍐插尯涓嶈凍鐨勬儏鍐甸兘鏄湪CBlockingSocket::Receive()鍑芥暟涓嫻嬪埌鐨勶紝璇ュ嚱鏁拌皟鐢ㄤ互涓婂眰嬈′腑鐨勪唬鐮佹寜鐓ф甯告儏鍐電紪鍐欍?/p>

CSockAddr鏄竴涓笌sockaddr_in鍚屾牱鐢ㄩ旂殑綾伙紝浣嗘槸鐢ㄦ硶鏇存柟渚褲倃insock鍑芥暟浣跨敤鐨勭鐐瑰湴鍧緇撴瀯鏄痵ockaddr錛宻ockaddr_in鏈韓鐢ㄦ潵浠f浛瀹冿紝鎵浠SockAddr闇瑕佽兘澶熸浛浠ockaddr銆俿ockaddr鍙兘鐢ㄥ湪浼犲兼垨浼犲潃鍙傛暟涓紝CSockAddr蹇呴』鍦ㄩ昏緫涓婂拰瀛樺偍涓婇兘鍜宻ockaddr鏈夌瓑浠鋒э紝騫跺疄鐜版湁鍏沖己鍒剁被鍨嬭漿鎹€侰SockAddr榪樺疄鐜頒簡鍜宻ockaddr, sockaddr_in浜掔浉杞崲鐨勬垚鍛樺嚱鏁幫紝鍥犱負涓縐嶇粨鏋勫緢闅懼湪鎵鏈夋儏鍐典笅閮藉ソ鐢紝鏂扮粨鏋勪篃闇瑕佸拰鏃х粨鏋勪繚鎸佸吋瀹廣?br>

 

鏈緥涓噰鐢ㄦ湇鍔″櫒鍏抽棴濂楁帴瀛楃殑鍔炴硶錛屽洜涓烘瘡嬈¤繛鎺ュ彧澶勭悊涓涓姹傘?br>
鍙傝冿細

銆婄敤TCP/IP榪涜緗戦檯浜掕仈絎笁鍗?windows濂楁帴瀛楃増)銆?娓呭崕鍑虹増紺?/p>

銆妚c6鎶鏈唴騫?5th ed銆?甯屾湜鐢靛瓙鍑虹増紺?/p>

]]>
璁洪潰鍚戝璞?/title><link>http://m.shnenglu.com/zliner/archive/2006/05/02/6552.html</link><dc:creator>渚濇棫鐨勫崥瀹?/dc:creator><author>渚濇棫鐨勫崥瀹?/author><pubDate>Tue, 02 May 2006 04:44:00 GMT</pubDate><guid>http://m.shnenglu.com/zliner/archive/2006/05/02/6552.html</guid><wfw:comment>http://m.shnenglu.com/zliner/comments/6552.html</wfw:comment><comments>http://m.shnenglu.com/zliner/archive/2006/05/02/6552.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/zliner/comments/commentRss/6552.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/zliner/services/trackbacks/6552.html</trackback:ping><description><![CDATA[<p>杞歡涓殑瀵硅薄鍚岄鍩熶腑鐨勬蹇墊湁鐫瀵嗗垏鐨勫叧緋匯?/p> <p>鎴戜滑鐭ラ亾姒傚康鏄漢浠湪鏌愪釜棰嗗煙涓疄璺電粡楠岀殑鎬葷粨錛屽茍鍙兘鍙戝睍涓虹悊璁恒傛蹇墊槸浠ュ瑙備簨鐗╀負鍩虹錛屼絾涓嶆槸瀵瑰瑙備簨鐗╃殑鍒繪澘鍙嶆槧銆傚畠鏉ヨ嚜浜庡疄璺碉紝鎵浠ュ寘鍚富浣撳洜绱狅紝榪欐槸寰堥噸瑕佺殑銆傚疄璺墊槸姒傚康鐨勬牴鏈潵婧愶紝鐞嗚涓婄殑闇瑕佸姒傚康褰㈡垚涔熸湁涓浜涗綔鐢ㄣ?/p> <p>杞歡涓嬌鐢ㄧ殑瀵硅薄綾諱技浜庨鍩熶腑浣跨敤鐨勬蹇點傘奤ML涓庢ā寮忓簲鐢ㄣ嬩腑璇達紝闈㈠悜瀵硅薄灝辨槸鎸夌収姒傚康鑰屼笉鏄姛鑳借繘琛屽垎瑙c備負浠涔堣蔣浠惰浣跨敤姒傚康鎬у厓绱犲憿錛熷洜涓轟漢鐨勮璇嗘槸姒傚康鎬х殑錛岃岃蔣浠剁敱浜烘潵浣跨敤錛屼漢鏉ュ紑鍙戙備負浜嗘彁渚涙湁鑹ソ姒傚康鎬х殑鐢ㄦ埛鎺ュ彛錛岃蔣浠舵湰韜傚疁閲囩敤姒傚康鎬у厓绱犮傜敱浜烘潵寮鍙戠殑杞歡鍒欐洿闇瑕侀噰鐢ㄦ蹇墊у厓绱狅紝杞歡鏈韓鍜岄鍩熷疄璺甸兘鏈夊法澶х殑澶嶆潅鎬э紝浜轟笉鏄寜鐓у姛鑳芥у厓绱犳潵鎬濊冪殑錛岄潰鍚戝璞″彲浠ヨ寮鍙戜漢鍛樼敤姒傚康鎬у厓绱犳濊冿紝浠庤屽鍔犲澶嶆潅鎬х殑閫傚簲鍜屾帶鍒惰兘鍔涖?/p> <p>棰嗗煙姒傚康鏄璞$殑閲嶈鏉ユ簮錛屼絾鏄璞′篃褰㈡垚浜庤蔣浠跺紑鍙戠殑榪囩▼銆備竴鏂歸潰錛岃蔣浠剁殑浣跨敤娌℃湁鏀瑰彉棰嗗煙瀹炶返鐨勬湰璐紝鑷沖皯娌℃湁瀹屽叏鏀瑰彉錛岃屾蹇靛弽鏄犱簡棰嗗煙涓凡緇忔垚鐔熺殑璁よ瘑錛屾墍浠ユ槸闈炲父閲嶈鐨勬寚瀵煎拰鍙傝冦傚彟涓鏂歸潰錛岄鍩熷疄璺電敱杞歡榪涜鍜岀敱浜鴻繘琛岀‘瀹為潪甯鎬笉鍚岋紝瑕佹眰榪涜鏂扮殑璁よ瘑錛岃蔣浠舵湰韜殑闇瑕佷篃浼氬獎鍝嶅埌瀵硅薄鐨勫艦鎴愩?/p> <p>闈㈠悜瀵硅薄鐨勫熀鏈壒寰佸弽鏄犵潃姒傚康鐨勫熀鏈壒寰併?/p> <ol> <li>灝佽錛氭蹇典笉鏄潤鎬佺殑錛屽畠鐨勫睘鎬у拰鎿嶄綔涓嶅彲鍒嗐? <li>閫氫俊錛氭蹇典笉鏄绔嬬殑錛屾蹇電殑灞炴у彲浠ュ叾浠栨蹇墊瀯鎴愶紝涔熷彲浠ュ湪灞炴т腑寮曠敤鍏朵粬姒傚康錛屾蹇電殑鎿嶄綔榪囩▼涓細鐢ㄥ埌鍏跺畠鐨勬蹇點? <li>鎶借薄錛氫粠鍏蜂綋姒傚康鍙互榪涗竴姝ヤ駭鐢熸娊璞℃蹇點? <li>澶氭侊細鎶借薄姒傚康鏈夌潃澶氭牱鐨勫叿浣撹〃鐜般?/li> </ol> <p>Stroustrup鐨勩奀++紼嬪簭璁捐璇█銆嬩腑璇達細</p> <p>“綾誨簲璇ョ敤浜庢ā鎷熺▼搴忓憳鐨勫拰搴旂敤鐨勪笘鐣岄噷鐨勯偅浜涙蹇點?..涓涓蹇典笉浼氬绔嬪湴瀛樺湪錛屽畠鎬諱笌涓浜涚浉鍏崇殑姒傚康鍏卞瓨錛屽茍鍦ㄤ笌鐩稿叧姒傚康鐨勭浉浜掑叧緋諱腑琛ㄧ幇鍑哄畠鐨勫ぇ閮ㄥ垎鍔涢噺銆?..鍥犱負鎴戜滑瑕佺敤綾昏〃紺烘蹇碉紝闂灝卞彉鎴愪簡濡備綍鍘昏〃紺烘蹇典箣闂寸殑鍏崇郴銆傜劧鑰岋紝鎴戜滑鏃犳硶鍦ㄧ▼搴忚璦閲岃〃榪頒換鎰忕殑鍏崇郴銆傚嵆浣胯兘榪欐牱鍋氾紝鎴戜滑涔熸湭蹇呮兂鍘誨仛瀹冦傛垜浠殑綾誨簲璇ュ畾涔夊緱姣旀棩甯告蹇墊洿紿勪竴浜涒斺旇屼笖涔熸洿綺劇‘銆?#8221;</p> <p>鎴戜滑鍙互浣撲細榪欐璇濈殑娣卞埢鎬с?/p> <ol> <li>綾葷敤鏉ュ畾涔夋蹇點傞鍏堬紝姒傚康涓嶆槸闈欐佺殑錛屽畠鐨勫睘鎬у拰鎿嶄綔涓嶅彲鍒嗭紝灝佽鏄潰鍚戝璞$殑絎竴涓壒寰併傜劧鍚庯紝姒傚康涓嶆槸瀛ょ珛鐨勶紝涓涓蹇墊繪槸涓庣浉鍏蟲蹇靛叡瀛橈紝鏈鍩烘湰鐨勫叧緋繪湁涓ゅ錛氬皝瑁呭拰閫氫俊錛屾娊璞″拰澶氭併傚墠鑰呭弽鏄犱簡鍒嗗伐涓庡悎浣滃叧緋伙紝鍚庤呭弽鏄犱簡鎶借薄涓庡叿浣撳叧緋匯傜被鏄潰鍚戝璞$殑鏍稿績錛屼粠鎺㈣綾葷殑浣滅敤鍑哄彂錛屽氨寮曞嚭浜嗛潰鍚戝璞$殑鍥涗釜鍩烘湰鐗瑰緛銆? <li>綾繪墍瀹氫箟鐨勬蹇典笉浣嗘潵鑷簲鐢ㄩ鍩燂紝涔熸潵鑷▼搴忓憳寮曞叆鐨勪笢瑗褲? <li>“鎴戜滑鏃犳硶鍦ㄧ▼搴忚璦閲岃〃榪頒換鎰忕殑鍏崇郴銆傚嵆浣胯兘榪欐牱鍋氾紝鎴戜滑涔熸湭蹇呮兂鍘誨仛瀹冦?#8221; </li> </ol> <img src ="http://m.shnenglu.com/zliner/aggbug/6552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/zliner/" target="_blank">渚濇棫鐨勫崥瀹?/a> 2006-05-02 12:44 <a href="http://m.shnenglu.com/zliner/archive/2006/05/02/6552.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://hsxinbao.com" target="_blank">欧美国产亚洲精品久久久8v</a>| <a href="http://mimi78.com" target="_blank">欧美在线日韩</a>| <a href="http://www47011.com" target="_blank">欧美精品三级</a>| <a href="http://51shoudian.com" target="_blank">欧美电影免费观看高清完整版</a>| <a href="http://7mxing.com" target="_blank">午夜影院日韩</a>| <a href="http://syruili.com" target="_blank">久久久国产午夜精品</a>| <a href="http://xingzhiyin85.com" target="_blank">久久精品亚洲</a>| <a href="http://8p3c.com" target="_blank">欧美久久久久中文字幕</a>| <a href="http://7777525.com" target="_blank">欧美体内she精视频</a>| <a href="http://wwww76.com" target="_blank">国产精品爽黄69</a>| <a href="http://y77778.com" target="_blank">在线免费观看欧美</a>| <a href="http://012488.com" target="_blank">亚洲精品久久7777</a>| <a href="http://www433444.com" target="_blank">亚洲综合电影一区二区三区</a>| <a href="http://312012.com" target="_blank">欧美在线视频导航</a>| <a href="http://free18teen.com" target="_blank">欧美14一18处毛片</a>| <a href="http://3838418.com" target="_blank">中文av字幕一区</a>| <a href="http://filmcameralibrary.com" target="_blank">小处雏高清一区二区三区</a>| <a href="http://www333444123.com" target="_blank">久久久水蜜桃av免费网站</a>| <a href="http://www-23918.com" target="_blank">欧美人与性动交a欧美精品</a>| <a href="http://4008166177.com" target="_blank">国产精品热久久久久夜色精品三区 </a>| <a href="http://www17727.com" target="_blank">欧美在线观看天堂一区二区三区 </a>| <a href="http://www-tk8899.com" target="_blank">久久成人18免费网站</a>| <a href="http://6168138.com" target="_blank">久久综合久色欧美综合狠狠 </a>| <a href="http://yh5557.com" target="_blank">欧美日韩一区二区三区免费</a>| <a href="http://my6557.com" target="_blank">国产女优一区</a>| <a href="http://www77711.com" target="_blank">91久久夜色精品国产网站</a>| <a href="http://playav111.com" target="_blank">亚洲男人第一av网站</a>| <a href="http://shno1steel.com" target="_blank">麻豆精品国产91久久久久久</a>| <a href="http://340332.com" target="_blank">亚洲毛片在线观看</a>| <a href="http://5252bnet.com" target="_blank">欧美一区亚洲</a>| <a href="http://tcgo903.com" target="_blank">欧美日韩不卡在线</a>| <a href="http://77017w.com" target="_blank">一区二区三区在线观看欧美</a>| <a href="http://yw3328.com" target="_blank">亚洲视频www</a>| <a href="http://by5263.com" target="_blank">欧美大片免费观看在线观看网站推荐</a>| <a href="http://7a6a.com" target="_blank">中文av字幕一区</a>| <a href="http://787622.com" target="_blank">欧美aⅴ一区二区三区视频</a>| <a href="http://rljyy.com" target="_blank">久久爱www久久做</a>| <a href="http://ddh345.com" target="_blank">国产美女精品</a>| <a href="http://3bmmxyz.com" target="_blank">亚洲毛片视频</a>| <a href="http://wxsanyuan.com" target="_blank">久久亚洲国产成人</a>| <a href="http://677968.com" target="_blank">国产精品99久久久久久久久久久久</a>| <a href="http://jgj230230.com" target="_blank">久久久久国产成人精品亚洲午夜</a>| <a href="http://www-9694.com" target="_blank">欧美电影美腿模特1979在线看</a>| <a href="http://2323nn.com" target="_blank">国产视频一区三区</a>| <a href="http://pron12.com" target="_blank">亚洲午夜精品久久久久久浪潮</a>| <a href="http://www633998.com" target="_blank">久久视频在线看</a>| <a href="http://ayxchc.com" target="_blank">亚洲男人的天堂在线aⅴ视频</a>| <a href="http://ywbst8g4tukcsqhioikc.com" target="_blank">欧美大片一区二区三区</a>| <a href="http://dahuxu.com" target="_blank">影音先锋一区</a>| <a href="http://jkllkg.com" target="_blank">噜噜噜在线观看免费视频日韩</a>| <a href="http://ncyy4.com" target="_blank">亚洲欧美日韩成人高清在线一区</a>| <a href="http://www92444.com" target="_blank">欧美日韩一区自拍</a>| <a href="http://5110010.com" target="_blank">一本久久a久久精品亚洲</a>| <a href="http://3dmh329.com" target="_blank">亚洲国产成人久久</a>| <a href="http://xp1025.com" target="_blank">性做久久久久久久免费看</a>| <a href="http://bjopl.com" target="_blank">欧美日韩视频在线一区二区 </a>| <a href="http://p35cc.com" target="_blank">日韩视频不卡中文</a>| <a href="http://19zet.com" target="_blank">欧美激情第三页</a>| <a href="http://maogo666.com" target="_blank">亚洲国产专区</a>| <a href="http://012492.com" target="_blank">免费亚洲视频</a>| <a href="http://gykfqzgpt.com" target="_blank">久久精品一区二区国产</a>| <a href="http://hengbang50.com" target="_blank">国产一区免费视频</a>| <a href="http://85995m.com" target="_blank">久久久在线视频</a>| <a href="http://540669.com" target="_blank">欧美在线视频免费观看</a>| <a href="http://www-35777.com" target="_blank">国产亚洲精品久久久</a>| <a href="http://8xfore.com" target="_blank">久久久久国产免费免费</a>| <a href="http://mathck.com" target="_blank">欧美中文字幕在线视频</a>| <a href="http://4448884.com" target="_blank">好男人免费精品视频</a>| <a href="http://4388x3.com" target="_blank">欧美成人自拍</a>| <a href="http://wwwp6660.com" target="_blank">欧美精品免费观看二区</a>| <a href="http://www442222.com" target="_blank">在线视频欧美日韩精品</a>| <a href="http://www780yy.com" target="_blank">一区二区三区视频在线观看</a>| <a href="http://www49718.com" target="_blank">欧美寡妇偷汉性猛交</a>| <a href="http://66hhmm.com" target="_blank">久久精品免费看</a>| <a href="http://www49718.com" target="_blank">欧美激情女人20p</a>| <a href="http://wwwmm131.com" target="_blank">在线视频你懂得一区</a>| <a href="http://7282789.com" target="_blank">亚洲视频电影图片偷拍一区</a>| <a href="http://by777131.com" target="_blank">欧美国产综合</a>| <a href="http://687673.com" target="_blank">99精品国产一区二区青青牛奶</a>| <a href="http://044925.com" target="_blank">欧美成人乱码一区二区三区</a>| <a href="http://270909.com" target="_blank">免费观看日韩</a>| <a href="http://cctbdy.com" target="_blank">亚洲性xxxx</a>| <a href="http://jrtkpx.com" target="_blank">亚洲欧美在线一区</a>| <a href="http://cnbluebox.com" target="_blank">在线日韩中文字幕</a>| <a href="http://wyy66.com" target="_blank">亚洲欧洲日产国产综合网</a>| <a href="http://340996.com" target="_blank">欧美日韩综合</a>| <a href="http://sxxawef.com" target="_blank">久久久高清一区二区三区</a>| <a href="http://bosengame.com" target="_blank">久久综合给合久久狠狠狠97色69</a>| <a href="http://by56677.com" target="_blank">亚洲精品国产精品乱码不99 </a>| <a href="http://maisuper.com" target="_blank">欧美另类在线播放</a>| <a href="http://7811c.com" target="_blank">亚洲精品一线二线三线无人区</a>| <a href="http://maiiyou.com" target="_blank">麻豆成人av</a>| <a href="http://91sp136.com" target="_blank">欧美精品一区在线播放</a>| <a href="http://y8e8.com" target="_blank">午夜精品区一区二区三</a>| <a href="http://cabenn.com" target="_blank">久久久久免费视频</a>| <a href="http://y1bbs.com" target="_blank">一区二区三区视频观看</a>| <a href="http://430390.com" target="_blank">性色av一区二区三区红粉影视</a>| <a href="http://67idid.com" target="_blank">在线播放豆国产99亚洲</a>| <a href="http://xiuren2021.com" target="_blank">亚洲人成久久</a>| <a href="http://eee88888.com" target="_blank">国产喷白浆一区二区三区</a>| <a href="http://744734.com" target="_blank">欧美激情一区二区三区在线视频观看 </a>| <a href="http://57sa.com" target="_blank">国产精品激情电影</a>| <a href="http://94wr.com" target="_blank">麻豆9191精品国产</a>| <a href="http://www-188444.com" target="_blank">蜜乳av另类精品一区二区</a>| <a href="http://my736.com" target="_blank">韩曰欧美视频免费观看</a>| <a href="http://myasker.com" target="_blank">亚洲福利精品</a>| <a href="http://www47067.com" target="_blank">国产精品婷婷</a>| <a href="http://850cn.com" target="_blank">欧美激情一区在线</a>| <a href="http://7811c.com" target="_blank">国产视频一区在线观看</a>| <a href="http://www-293456.com" target="_blank">亚洲福利视频免费观看</a>| <a href="http://8x1080x.com" target="_blank">国产女人水真多18毛片18精品视频</a>| <a href="http://555yye.com" target="_blank">免费观看欧美在线视频的网站</a>| <a href="http://0808333.com" target="_blank">欧美日韩精品免费观看视频完整</a>| <a href="http://dusenborg.com" target="_blank">久久久高清一区二区三区</a>| <a href="http://787622.com" target="_blank">欧美日韩一区二区三区在线观看免</a>| <a href="http://www94816.com" target="_blank">久久九九久精品国产免费直播</a>| <a href="http://18av-2.com" target="_blank">欧美日韩午夜</a>| <a href="http://www49797.com" target="_blank">亚洲国产91</a>| <a href="http://www559955.com" target="_blank">一区二区视频免费完整版观看</a>| <a href="http://858185gg.com" target="_blank">一区二区三区欧美视频</a>| <a href="http://k37b.com" target="_blank">一区二区视频免费在线观看</a>| <a href="http://wwzz3.com" target="_blank">欧美成人激情在线</a>| <a href="http://52sougou.com" target="_blank">久久福利精品</a>| <a href="http://7555hh.com" target="_blank">香蕉成人伊视频在线观看</a>| <a href="http://www-699603.com" target="_blank">欧美国产一区视频在线观看</a>| <a href="http://7782y.com" target="_blank">欧美va日韩va</a>| <a href="http://2061851.com" target="_blank">激情国产一区</a>| <a href="http://b46n.com" target="_blank">欧美在线亚洲一区</a>| <a href="http://bkksd.com" target="_blank">欧美在线观看视频</a>| <a href="http://www330849.com" target="_blank">国产精品久久婷婷六月丁香</a>| <a href="http://ydy8.com" target="_blank">亚洲精品偷拍</a>| <a href="http://2061851.com" target="_blank">日韩视频久久</a>| <a href="http://coerverbeijing.com" target="_blank">蜜臀久久99精品久久久久久9</a>| <a href="http://tv-miya188.com" target="_blank">久久久99国产精品免费</a>| <a href="http://ztsctgs.com" target="_blank">国产九九精品</a>| <a href="http://by2866.com" target="_blank">午夜综合激情</a>| <a href="http://szjyf668.com" target="_blank">久久精品理论片</a>| <a href="http://833077.com" target="_blank">国产亚洲毛片在线</a>| <a href="http://www-232323.com" target="_blank">先锋影院在线亚洲</a>| <a href="http://987kt.com" target="_blank">久久久久久久久伊人</a>| <a href="http://021jjjflaw.com" target="_blank">国产日产高清欧美一区二区三区</a>| <a href="http://www55avav.com" target="_blank">中文国产成人精品</a>| <a href="http://97seee.com" target="_blank">欧美一区二区三区成人</a>| <a href="http://cecelife.com" target="_blank">欧美va亚洲va国产综合</a>| <a href="http://tonglijinshu.com" target="_blank">欧美日韩国语</a>| <a href="http://335848.com" target="_blank">99国产精品国产精品毛片</a>| <a href="http://weixiao668.com" target="_blank">亚洲精品在线免费</a>| <a href="http://wwwzmcc1.com" target="_blank">欧美久久久久免费</a>| <a href="http://2938476.com" target="_blank">日韩午夜在线电影</a>| <a href="http://yashikeji.com" target="_blank">午夜视频在线观看一区二区三区</a>| <a href="http://fyfsds.com" target="_blank">欧美色大人视频</a>| <a href="http://99999zc.com" target="_blank">在线亚洲精品</a>| <a href="http://97caoporm.com" target="_blank">欧美在线一区二区</a>| <a href="http://luluse882.com" target="_blank">一区在线视频</a>| <a href="http://3333577.com" target="_blank">欧美精品网站</a>| <a href="http://fjccjq.com" target="_blank">亚洲女人天堂成人av在线</a>| <a href="http://tk263.com" target="_blank">欧美中文字幕</a>| <a href="http://budanbao.com" target="_blank">亚洲电影下载</a>| <a href="http://www8xvi.com" target="_blank">欧美日韩亚洲激情</a>| <a href="http://318823.com" target="_blank">午夜国产不卡在线观看视频</a>| <a href="http://yidaiban.com" target="_blank">久久精品国产亚洲一区二区</a>| <a href="http://cuucs.com" target="_blank">1204国产成人精品视频</a>| <a href="http://snis675.com" target="_blank">欧美精品性视频</a>| <a href="http://huayoue.com" target="_blank">亚洲一区二区三区中文字幕 </a>| <a href="http://2456yo.com" target="_blank">国产精品一区二区在线观看网站</a>| <a href="http://sygxjt.com" target="_blank">午夜在线精品</a>| <a href="http://5254f.com" target="_blank">欧美黄色网络</a>| <a href="http://8bc3.com" target="_blank">亚洲欧美在线磁力</a>| <a href="http://7885888.com" target="_blank">永久91嫩草亚洲精品人人</a>| <a href="http://zyjxyx.com" target="_blank">欧美成年人在线观看</a>| <a href="http://eee2244.com" target="_blank">在线视频欧美日韩</a>| <a href="http://www18bbav.com" target="_blank">美国十次了思思久久精品导航</a>| <a href="http://lctongda.com" target="_blank">亚洲精选久久</a>| <a href="http://66688811.com" target="_blank">国产一区二区三区的电影</a>| <a href="http://jiejiesao8.com" target="_blank">蜜臀av在线播放一区二区三区</a>| <a href="http://yeedeli.com" target="_blank">日韩视频一区二区在线观看 </a>| <a href="http://www-474736.com" target="_blank">99这里只有精品</a>| <a href="http://621767.com" target="_blank">久久精品国产亚洲一区二区</a>| <a href="http://zyjzz.com" target="_blank">亚洲蜜桃精久久久久久久</a>| <a href="http://lianjiemenye.com" target="_blank">国产精品丝袜xxxxxxx</a>| <a href="http://aiqianfang.com" target="_blank">久久亚洲综合色</a>| <a href="http://submro.com" target="_blank">亚洲一区免费看</a>| <a href="http://saomm18.com" target="_blank">欧美激情中文不卡</a>| <a href="http://nxhjzddata.com" target="_blank">久久激情视频久久</a>| <a href="http://778km.com" target="_blank">一区二区三区国产精华</a>| <a href="http://www151zh.com" target="_blank">国内精品免费午夜毛片</a>| <a href="http://4008166177.com" target="_blank">欧美午夜片在线观看</a>| <a href="http://6399128.com" target="_blank">久久婷婷综合激情</a>| <a href="http://www77577.com" target="_blank">亚洲一区在线免费</a>| <a href="http://baoyu1313.com" target="_blank">亚洲欧洲精品一区二区三区不卡</a>| <a href="http://jisuyswang.com" target="_blank">久久久精品日韩</a>| <a href="http://021-job.com" target="_blank">亚洲午夜久久久久久久久电影网</a>| <a href="http://389746.com" target="_blank">狠狠色2019综合网</a>| <a href="http://cz-hongbangfloor.com" target="_blank">国产精品xxxxx</a>| <a href="http://www-878009.com" target="_blank">女人天堂亚洲aⅴ在线观看</a>| <a href="http://www17bxbx.com" target="_blank">欧美亚洲一区二区在线</a>| <a href="http://797298.com" target="_blank">中文在线资源观看视频网站免费不卡</a>| <a href="http://y3u7.com" target="_blank">欧美国产三区</a>| <a href="http://www-8438.com" target="_blank">米奇777在线欧美播放</a>| <a href="http://6k7a.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>