锘??xml version="1.0" encoding="utf-8" standalone="yes"?>免费毛片一区二区三区久久久,亚洲一区视频,欧美欧美全黄http://www.shnenglu.com/dbkong/archive/2007/09/13/32162.html騫沖嚒鐨勫ぉ鎵?/dc:creator>騫沖嚒鐨勫ぉ鎵?/author>Thu, 13 Sep 2007 12:13:00 GMThttp://www.shnenglu.com/dbkong/archive/2007/09/13/32162.htmlhttp://www.shnenglu.com/dbkong/comments/32162.htmlhttp://www.shnenglu.com/dbkong/archive/2007/09/13/32162.html#Feedback0http://www.shnenglu.com/dbkong/comments/commentRss/32162.htmlhttp://www.shnenglu.com/dbkong/services/trackbacks/32162.html    褰撳墠嫻佽鐨刉indows鎿嶄綔緋葷粺鑳藉悓鏃惰繍琛屽嚑涓▼搴?鐙珛榪愯鐨勭▼搴忓張縐頒箣涓鴻繘紼?錛屽浜庡悓涓涓▼搴忥紝瀹冨張鍙互鍒嗘垚鑻ュ共涓嫭绔嬬殑鎵ц嫻侊紝鎴戜滑縐頒箣 涓虹嚎紼嬶紝綰跨▼鎻愪緵浜嗗浠誨姟澶勭悊鐨勮兘鍔涖傜敤榪涚▼鍜岀嚎紼嬬殑瑙傜偣鏉ョ爺絀惰蔣浠舵槸褰撲粖鏅亶閲囩敤鐨勬柟娉曪紝榪涚▼鍜岀嚎紼嬬殑姒傚康鐨勫嚭鐜幫紝瀵規彁楂樿蔣浠剁殑騫惰鎬ф湁鐫閲嶈鐨勬剰涔夈? 鐜板湪鐨勫ぇ鍨嬪簲鐢ㄨ蔣浠舵棤涓涓嶆槸澶氱嚎紼嬪浠誨姟澶勭悊錛屽崟綰跨▼鐨勮蔣浠舵槸涓嶅彲鎯寵薄鐨勩傚洜姝ゆ帉鎻″綰跨▼澶氫換鍔¤璁℃柟娉曞姣忎釜紼嬪簭鍛橀兘鏄繀闇瑕佹帉鎻$殑銆傛湰瀹炰緥閽堝澶氱嚎紼? 鎶鏈湪搴旂敤涓粡甯擱亣鍒扮殑闂錛屽綰跨▼闂寸殑閫氫俊銆佸悓姝ョ瓑錛屽垎鍒繘琛屾帰璁紝騫跺埄鐢ㄥ綰跨▼鎶鏈繘琛岀嚎紼嬩箣闂寸殑閫氫俊錛屽疄鐜頒簡鏁板瓧鐨勭畝鍗曟帓搴忋傘銆

涓銆?瀹炵幇鏂規硶

1銆佺悊瑙g嚎紼?br>
瑕佽瑙g嚎紼嬶紝涓嶅緱涓嶈涓涓嬭繘紼嬶紝榪涚▼鏄簲鐢ㄧ▼搴忕殑鎵ц瀹炰緥錛屾瘡涓繘紼嬫槸鐢辯鏈夌殑铏氭嫙鍦板潃絀洪棿銆佷唬鐮併佹暟鎹拰鍏跺畠緋葷粺璧勬簮緇勬垚銆傝繘紼嬪湪榪愯鏃跺垱寤虹殑璧勬簮 闅忕潃榪涚▼鐨勭粓姝㈣屾浜°傜嚎紼嬬殑鍩烘湰鎬濇兂寰堢畝鍗曪紝瀹冩槸涓涓嫭绔嬬殑鎵ц嫻侊紝鏄繘紼嬪唴閮ㄧ殑涓涓嫭绔嬬殑鎵ц鍗曞厓錛岀浉褰撲簬涓涓瓙紼嬪簭錛屽畠瀵瑰簲浜嶸isual C++涓殑CwinThread綾誨璞°傚崟鐙竴涓墽琛岀▼搴忚繍琛屾椂錛岀己鐪佸湴鍖呭惈鐨勪竴涓富綰跨▼錛屼富綰跨▼浠ュ嚱鏁板湴鍧鐨勫艦寮忓嚭鐜幫紝鎻愪緵紼嬪簭鐨勫惎鍔ㄧ偣錛屽main 錛堬級鎴朩inMain錛堬級鍑芥暟絳夈傚綋涓葷嚎紼嬬粓姝㈡椂錛岃繘紼嬩篃闅忎箣緇堟銆傛牴鎹疄闄呴渶瑕侊紝搴旂敤紼嬪簭鍙互鍒嗚В鎴愯澶氱嫭绔嬫墽琛岀殑綰跨▼錛屾瘡涓嚎紼嬪茍琛岀殑榪愯鍦ㄥ悓涓榪涚▼ 涓?br>
涓涓繘紼嬩腑鐨勬墍鏈夌嚎紼嬮兘鍦ㄨ榪涚▼鐨勮櫄鎷熷湴鍧絀洪棿涓紝浣跨敤璇ヨ繘紼嬬殑鍏ㄥ眬鍙橀噺鍜岀郴緇熻祫婧愩傛搷浣滅郴緇熺粰姣忎釜綰跨▼鍒嗛厤涓嶅悓鐨凜PU鏃墮棿鐗囷紝鍦ㄦ煇涓涓椂鍒伙紝 CPU鍙墽琛屼竴涓椂闂寸墖鍐呯殑綰跨▼錛屽涓椂闂寸墖涓殑鐩稿簲綰跨▼鍦–PU鍐呰疆嫻佹墽琛岋紝鐢變簬姣忎釜鏃墮棿鐗囨椂闂村緢鐭紝鎵浠ュ鐢ㄦ埛鏉ヨ錛屼豢浣涘悇涓嚎紼嬪湪璁$畻鏈轟腑鏄茍琛屽 鐞嗙殑銆傛搷浣滅郴緇熸槸鏍規嵁綰跨▼鐨勪紭鍏堢駭鏉ュ畨鎺扖PU鐨勬椂闂達紝浼樺厛綰ч珮鐨勭嚎紼嬩紭鍏堣繍琛岋紝浼樺厛綰т綆鐨勭嚎紼嬪垯緇х畫絳夊緟銆?br>
綰跨▼琚垎涓轟袱縐嶏細鐢ㄦ埛鐣岄潰綰跨▼鍜屽伐浣滅嚎紼嬶紙鍙堢О涓哄悗鍙扮嚎紼嬶級銆傜敤鎴風晫闈㈢嚎紼嬮氬父鐢ㄦ潵澶勭悊鐢ㄦ埛鐨勮緭鍏ュ茍鍝嶅簲鍚勭浜嬩歡鍜屾秷鎭紝鍏跺疄錛屽簲鐢ㄧ▼搴忕殑涓繪墽琛岀嚎紼? CWinAPP瀵硅薄灝辨槸涓涓敤鎴風晫闈㈢嚎紼嬶紝褰撳簲鐢ㄧ▼搴忓惎鍔ㄦ椂鑷姩鍒涘緩鍜屽惎鍔紝鍚屾牱瀹冪殑緇堟涔熸剰鍛崇潃璇ョ▼搴忕殑緇撴潫錛岃繘紼嬬粓姝€傚伐浣滅嚎紼嬬敤鏉ユ墽琛岀▼搴忕殑鍚庡彴澶? 鐞嗕換鍔★紝姣斿璁$畻銆佽皟搴︺佸涓插彛鐨勮鍐欐搷浣滅瓑錛屽畠鍜岀敤鎴風晫闈㈢嚎紼嬬殑鍖哄埆鏄畠涓嶇敤浠嶤WinThread綾繪淳鐢熸潵鍒涘緩錛屽瀹冩潵璇存渶閲嶈鐨勬槸濡備綍瀹炵幇宸ヤ綔綰跨▼ 浠誨姟鐨勮繍琛屾帶鍒跺嚱鏁般傚伐浣滅嚎紼嬪拰鐢ㄦ埛鐣岄潰綰跨▼鍚姩鏃惰璋冪敤鍚屼竴涓嚱鏁扮殑涓嶅悓鐗堟湰錛涙渶鍚庨渶瑕佽鑰呮槑鐧界殑鏄紝涓涓繘紼嬩腑鐨勬墍鏈夌嚎紼嬪叡浜畠浠埗榪涚▼鐨勫彉閲忥紝浣嗗悓 鏃舵瘡涓嚎紼嬪彲浠ユ嫢鏈夎嚜宸辯殑鍙橀噺銆?

2銆佺嚎紼嬬殑綆$悊鍜屾搷浣?br>
錛堜竴錛夌嚎紼嬬殑鍚姩

鍒涘緩涓涓敤鎴風晫闈㈢嚎紼嬶紝棣栧厛瑕佷粠綾籆winThread浜х敓涓涓淳鐢熺被錛屽悓鏃跺繀欏諱嬌鐢―ECLARE_DYNCREATE鍜? IMPLEMENT_DYNCREATE鏉ュ0鏄庡拰瀹炵幇榪欎釜CwinThread媧劇敓綾匯傜浜屾鏄牴鎹渶瑕侀噸杞借媧劇敓綾葷殑涓浜涙垚鍛樺嚱鏁板錛? ExitInstance錛堬級銆両nitInstance錛堬級銆丱nIdle錛堬級銆丳reTranslateMessage錛堬級絳夊嚱鏁般傛渶鍚庤皟鐢? AfxBeginThread()鍑芥暟鐨勪竴涓増鏈細CWinThread* AfxBeginThread( CRuntimeClass* pThreadClass, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL ) 鍚姩璇ョ敤鎴風晫闈㈢嚎紼嬶紝鍏朵腑絎竴涓弬鏁頒負鎸囧悜瀹氫箟鐨勭敤鎴風晫闈㈢嚎紼嬬被鎸囬拡鍙橀噺錛岀浜屼釜鍙傛暟涓虹嚎紼嬬殑浼樺厛綰э紝絎笁涓弬鏁頒負綰跨▼鎵瀵瑰簲鐨勫爢鏍堝ぇ灝忥紝絎洓涓弬鏁頒負綰? 紼嬪垱寤烘椂鐨勯檮鍔犳爣蹇楋紝緙虹渷涓烘甯哥姸鎬侊紝濡備負CREATE_SUSPENDED鍒欑嚎紼嬪惎鍔ㄥ悗涓烘寕璧風姸鎬併?br>
瀵逛簬宸ヤ綔綰跨▼鏉ヨ錛屽惎鍔ㄤ竴涓嚎紼嬶紝棣栧厛闇瑕佺紪鍐欎竴涓笇鏈涗笌搴旂敤紼嬪簭鐨勫叾浣欓儴鍒嗗茍琛岃繍琛岀殑鍑芥暟濡侳un1()錛屾帴鐫瀹氫箟涓涓寚鍚慍winThread瀵? 璞$殑鎸囬拡鍙橀噺*pThread,璋冪敤AfxBeginThread(Fun1,param,priority)鍑芥暟錛岃繑鍥炲艱祴緇檖Thread鍙橀噺鐨勫悓鏃? 涓騫跺惎鍔ㄨ綰跨▼鏉ユ墽琛屼笂闈㈢殑Fun1錛堬級鍑芥暟錛屽叾涓璅un1鏄嚎紼嬭榪愯鐨勫嚱鏁扮殑鍚嶅瓧錛屼篃鏃㈡槸涓婇潰鎵璇寸殑鎺у埗鍑芥暟鐨勫悕瀛楋紝param鏄噯澶囦紶閫佺粰綰跨▼鍑芥暟 Fun1鐨勪換鎰?2浣嶅鹼紝priority鍒欐槸瀹氫箟璇ョ嚎紼嬬殑浼樺厛綰у埆錛屽畠鏄瀹氫箟鐨勫父鏁幫紝璇昏呭彲鍙傝僊SDN銆?br>
錛堜簩錛夌嚎紼嬬殑浼樺厛綰?br>
浠ヤ笅鐨凜winThread綾葷殑鎴愬憳鍑芥暟鐢ㄤ簬綰跨▼浼樺厛綰х殑鎿嶄綔錛?br>
////////////////////////////////////////////////////////////////
//////CtestView message handlers
/////Set to True to end thread
Bool bend=FALSE;//瀹氫箟鐨勫叏灞鍙橀噺錛岀敤浜庢帶鍒剁嚎紼嬬殑榪愯錛?br> //The Thread Function錛?br> UINT ThreadFunction(LPVOID pParam)//綰跨▼鍑芥暟
{
while(!bend)
{
Beep(100,100);
Sleep(1000);
}
return 0;
}
/////////////////////////////////////////////////////////////
CwinThread *pThread;
HWND hWnd;
Void CtestView::OninitialUpdate()
{
hWnd=GetSafeHwnd();
pThread=AfxBeginThread(ThradFunction,hWnd);//鍚姩綰跨▼
pThread->m_bAutoDelete=FALSE;//綰跨▼涓烘墜鍔ㄥ垹闄?br> Cview::OnInitialUpdate();
}
////////////////////////////////////////////////////////////////
Void CtestView::OnDestroy()
{
bend=TRUE;//鏀瑰彉鍙橀噺錛岀嚎紼嬬粨鏉?br> WaitForSingleObject(pThread->m_hThread,INFINITE);//絳夊緟綰跨▼緇撴潫
delete pThread;//鍒犻櫎綰跨▼
Cview::OnDestroy();
}

銆銆3銆佺嚎紼嬩箣闂寸殑閫氫俊

閫氬父鎯呭喌涓嬶紝涓涓綰х嚎紼嬭涓轟富綰跨▼瀹屾垚鏌愮鐗瑰畾綾誨瀷鐨勪換鍔★紝榪欏氨闅愬惈鐫琛ㄧず鍦ㄤ富綰跨▼鍜屾綰х嚎紼嬩箣闂撮渶瑕佸緩绔嬩竴涓氫俊鐨勯氶亾銆備竴鑸儏鍐典笅錛屾湁涓嬮潰鐨勫嚑 縐嶆柟娉曞疄鐜拌繖縐嶉氫俊浠誨姟錛氫嬌鐢ㄥ叏灞鍙橀噺錛堜笂涓鑺傜殑渚嬪瓙鍏跺疄浣跨敤鐨勫氨鏄繖縐嶆柟娉曪級銆佷嬌鐢ㄤ簨浠跺璞°佷嬌鐢ㄦ秷鎭傝繖閲屾垜浠富瑕佷粙緇嶅悗涓ょ鏂規硶銆?br>
錛堜竴錛?鍒╃敤鐢ㄦ埛瀹氫箟鐨勬秷鎭氫俊

鍦╓indows紼嬪簭璁捐涓紝搴旂敤紼嬪簭鐨勬瘡涓涓嚎紼嬮兘鎷ユ湁鑷繁鐨勬秷鎭槦鍒楋紝鐢氳嚦宸ヤ綔綰跨▼涔熶笉渚嬪錛岃繖鏍蜂竴鏉ワ紝灝變嬌寰楃嚎紼嬩箣闂村埄鐢ㄦ秷鎭潵浼犻掍俊鎭氨鍙樼殑 闈炲父綆鍗曘傞鍏堢敤鎴瘋瀹氫箟涓涓敤鎴鋒秷鎭紝濡備笅鎵紺猴細#define WM_USERMSG WMUSER+100錛涘湪闇瑕佺殑鏃跺欙紝鍦ㄤ竴涓嚎紼嬩腑璋冪敤錛氾細PostMessage((HWND)param,WM_USERMSG,0,0)鎴? CwinThread::PostThradMessage錛堬級鏉ュ悜鍙﹀涓涓嚎紼嬪彂閫佽繖涓秷鎭紝涓婅堪鍑芥暟鐨勫洓涓弬鏁板垎鍒槸娑堟伅灝嗚鍙戦佸埌鐨勭洰鐨勭獥鍙g殑鍙? 鏌勩佽鍙戦佺殑娑堟伅鏍囧織絎︺佹秷鎭殑鍙傛暟WPARAM鍜孡PARAM銆備笅闈㈢殑浠g爜鏄涓婅妭浠g爜鐨勪慨鏀癸紝淇敼鍚庣殑緇撴灉鏄湪綰跨▼緇撴潫鏃舵樉紺轟竴涓璇濇錛屾彁紺虹嚎紼嬬粨 鏉燂細

Retrun 0;
}
銆銆涓婇潰鐨勪緥瀛愭槸宸ヤ綔鑰呯嚎紼嬪悜鐢ㄦ埛鐣岄潰綰跨▼鍙戦佹秷鎭紝瀵逛簬宸ヤ綔鑰呯嚎紼嬶紝濡傛灉瀹冪殑璁捐妯″紡涔熸槸娑堟伅椹卞姩鐨勶紝閭d箞璋冪敤鑰呭彲浠ュ悜瀹冨彂閫佸垵濮嬪寲銆侀 鍑恒佹墽琛屾煇縐嶇壒瀹氱殑澶勭悊絳夋秷鎭紝璁╁畠鍦ㄥ悗鍙板畬鎴愩傚湪鎺у埗鍑芥暟涓彲浠ョ洿鎺ヤ嬌鐢細錛欸etMessage()榪欎釜SDK鍑芥暟榪涜娑堟伅鍒嗘鍜屽鐞嗭紝鑷繁瀹炵幇涓涓? 娑堟伅寰幆銆侴etMessage()鍑芥暟鍦ㄥ垽鏂綰跨▼鐨勬秷鎭槦鍒椾負絀烘椂錛岀嚎紼嬪皢緋葷粺鍒嗛厤緇欏畠鐨勬椂闂寸墖璁╃粰鍏跺畠綰跨▼錛屼笉鏃犳晥鐨勫崰鐢–PU鐨勬椂闂達紝濡傛灉娑堟伅闃? 鍒椾笉涓虹┖錛屽氨鑾峰彇榪欎釜娑堟伅錛屽垽鏂繖涓秷鎭殑鍐呭騫惰繘琛岀浉搴旂殑澶勭悊銆?br>
錛堜簩錛夌敤浜嬩歡瀵硅薄瀹炵幇閫氫俊

鍦ㄧ嚎紼嬩箣闂翠紶閫掍俊鍙瘋繘琛岄氫俊姣旇緝澶嶆潅鐨勬柟娉曟槸浣跨敤浜嬩歡瀵硅薄錛岀敤MFC鐨凜event綾葷殑瀵硅薄鏉ヨ〃紺恒備簨浠跺璞″浜庝袱縐嶇姸鎬佷箣涓錛氭湁淇″彿鍜屾棤淇″彿錛岀嚎紼嬪彲浠ョ洃瑙嗗浜庢湁淇″彿鐘舵佺殑浜嬩歡錛屼互渚垮湪閫傚綋鐨勬椂鍊欐墽琛屽浜嬩歡鐨勬搷浣溿備笂榪頒緥瀛愪唬鐮佷慨鏀瑰涓嬶細

while(!bend)
{
Beep(100,100);
Sleep(1000);
Int result=::WaitforSingleObject(threadEnd.m_hObject,0);
//絳夊緟threadEnd浜嬩歡鏈変俊鍙鳳紝鏃犱俊鍙鋒椂綰跨▼鍦ㄨ繖閲屾偓鍋?br> If(result==Wait_OBJECT_0)
Bend=TRUE;
}
錛氾細PostMessage(hWnd,WM_USERMSG,0,0)錛?br> return 0;
}
/////////////////////////////////////////////////////////////
Void CtestView::OninitialUpdate()
{
hWnd=GetSafeHwnd();
threadStart.SetEvent();//threadStart浜嬩歡鏈変俊鍙?br> pThread=AfxBeginThread(ThreadFunction,hWnd);//鍚姩綰跨▼
pThread->m_bAutoDelete=FALSE;
Cview::OnInitialUpdate();
}
////////////////////////////////////////////////////////////////
Void CtestView::OnDestroy()
{
threadEnd.SetEvent();
WaitForSingleObject(pThread->m_hThread,INFINITE);
delete pThread;
Cview::OnDestroy();
}
銆銆榪愯榪欎釜紼嬪簭錛屽綋鍏抽棴紼嬪簭鏃訛紝鎵嶆樉紺烘彁紺烘錛屾樉紺?Thread ended"銆?

銆銆4銆佺嚎紼嬩箣闂寸殑鍚屾

鍓嶉潰鎴戜滑璁茶繃錛屽悇涓嚎紼嬪彲浠ヨ闂繘紼嬩腑鐨勫叕鍏卞彉閲忥紝鎵浠ヤ嬌鐢ㄥ綰跨▼鐨勮繃紼嬩腑闇瑕佹敞鎰忕殑闂鏄浣曢槻姝袱涓垨涓や釜浠ヤ笂鐨勭嚎紼嬪悓鏃惰闂悓涓涓暟鎹紝浠ュ厤鐮? 鍧忔暟鎹殑瀹屾暣鎬с備繚璇佸悇涓嚎紼嬪彲浠ュ湪涓璧烽傚綋鐨勫崗璋冨伐浣滅О涓虹嚎紼嬩箣闂寸殑鍚屾銆傚墠闈竴鑺備粙緇嶇殑浜嬩歡瀵硅薄瀹為檯涓婂氨鏄竴縐嶅悓姝ュ艦寮忋俈isual C++涓嬌鐢ㄥ悓姝ョ被鏉ヨВ鍐蟲搷浣滅郴緇熺殑騫惰鎬ц屽紩璧風殑鏁版嵁涓嶅畨鍏ㄧ殑闂錛孧FC鏀寔鐨勪竷涓綰跨▼鐨勫悓姝ョ被鍙互鍒嗘垚涓ゅぇ綾伙細鍚屾瀵硅薄 錛圕syncObject銆丆semaphore銆丆mutex銆丆criticalSection鍜孋event錛夊拰鍚屾璁塊棶瀵硅薄 錛圕multiLock鍜孋singleLock錛夈傛湰鑺備富瑕佷粙緇嶄復鐣屽尯錛坈ritical section錛夈佷簰鏂ワ紙mutexe錛夈佷俊鍙烽噺錛坰emaphore錛夛紝榪欎簺鍚屾瀵硅薄浣垮悇涓嚎紼嬪崗璋冨伐浣滐紝紼嬪簭榪愯璧鋒潵鏇村畨鍏ㄣ?br>
錛堜竴錛?涓寸晫鍖?br>
涓寸晫鍖烘槸淇濊瘉鍦ㄦ煇涓涓椂闂村彧鏈変竴涓嚎紼嬪彲浠ヨ闂暟鎹殑鏂規硶銆備嬌鐢ㄥ畠鐨勮繃紼嬩腑錛岄渶瑕佺粰鍚勪釜綰跨▼鎻愪緵涓涓叡浜殑涓寸晫鍖哄璞★紝鏃犺鍝釜綰跨▼鍗犳湁涓寸晫鍖哄璞★紝 閮藉彲浠ヨ闂彈鍒頒繚鎶ょ殑鏁版嵁錛岃繖鏃跺欏叾瀹冪殑綰跨▼闇瑕佺瓑寰咃紝鐩村埌璇ョ嚎紼嬮噴鏀句復鐣屽尯瀵硅薄涓烘錛屼復鐣屽尯琚噴鏀懼悗錛屽彟澶栫殑綰跨▼鍙互寮哄崰榪欎釜涓寸晫鍖猴紝浠ヤ究璁塊棶鍏變韓鐨勬暟 鎹備復鐣屽尯瀵瑰簲鐫涓涓狢criticalSection瀵硅薄錛屽綋綰跨▼闇瑕佽闂繚鎶ゆ暟鎹椂錛岃皟鐢ㄤ復鐣屽尯瀵硅薄鐨凩ock()鎴愬憳鍑芥暟錛涘綋瀵逛繚鎶ゆ暟鎹殑鎿嶄綔瀹屾垚 涔嬪悗錛岃皟鐢ㄤ復鐣屽尯瀵硅薄鐨刄nlock()鎴愬憳鍑芥暟閲婃斁瀵逛復鐣屽尯瀵硅薄鐨勬嫢鏈夋潈錛屼互浣垮彟涓涓嚎紼嬪彲浠ュず鍙栦復鐣屽尯瀵硅薄騫惰闂彈淇濇姢鐨勬暟鎹傚悓鏃跺惎鍔ㄤ袱涓嚎紼嬶紝瀹? 浠搴旂殑鍑芥暟鍒嗗埆涓篧riteThread()鍜孯eadThread()錛岀敤浠ュ鍏叡鏁扮粍緇刟rray[]鎿嶄綔錛屼笅闈㈢殑浠g爜璇存槑浜嗗浣曚嬌鐢ㄤ復鐣屽尯瀵硅薄錛?br>
int array[10],destarray[10];
CCriticalSection Section;
UINT WriteThread(LPVOID param)
{
Section.Lock();
for(int x=0;x<10;x++)
array[x]=x;
Section.Unlock();
}
UINT ReadThread(LPVOID param)
{
Section.Lock();
For(int x=0;x<10;x++)
Destarray[x]=array[x];
Section.Unlock();
}
銆銆涓婅堪浠g爜榪愯鐨勭粨鏋滃簲璇ユ槸Destarray鏁扮粍涓殑鍏冪礌鍒嗗埆涓?-9錛岃屼笉鏄潅涔辨棤绔犵殑鏁幫紝濡傛灉涓嶄嬌鐢ㄥ悓姝ワ紝鍒欎笉鏄繖涓粨鏋滐紝鏈夊叴瓚g殑璇昏呭彲浠ュ疄楠屼竴涓嬨?br>
錛堜簩錛変簰鏂?br>
浜掓枼涓庝復鐣屽尯寰堢浉浼鹼紝浣嗘槸浣跨敤鏃剁浉瀵瑰鏉備竴浜涳紝瀹冧笉浠呭彲浠ュ湪鍚屼竴搴旂敤紼嬪簭鐨勭嚎紼嬮棿瀹炵幇鍚屾錛岃繕鍙互鍦ㄤ笉鍚岀殑榪涚▼闂村疄鐜板悓姝ワ紝浠庤屽疄鐜拌祫婧愮殑瀹夊叏鍏變韓銆? 浜掓枼涓嶤mutex綾葷殑瀵硅薄鐩稿搴旓紝浣跨敤浜掓枼瀵硅薄鏃訛紝蹇呴』鍒涘緩涓涓狢SingleLock鎴朇MultiLock瀵硅薄錛岀敤浜庡疄闄呯殑璁塊棶鎺у埗錛屽洜涓鴻繖閲岀殑渚? 瀛愬彧澶勭悊鍗曚釜浜掓枼錛屾墍浠ユ垜浠彲浠ヤ嬌鐢–SingleLock瀵硅薄錛岃瀵硅薄鐨凩ock()鍑芥暟鐢ㄤ簬鍗犳湁浜掓枼錛孶nlock()鐢ㄤ簬閲婃斁浜掓枼銆傚疄鐜頒唬鐮佸涓嬶細

int array[10],destarray[10];
CMutex Section;

UINT WriteThread(LPVOID param)
{
CsingleLock singlelock;
singlelock (&Section);
singlelock.Lock();
for(int x=0;x<10;x++)
array[x]=x;
singlelock.Unlock();
}

UINT ReadThread(LPVOID param)
{
CsingleLock singlelock;
singlelock (&Section);
singlelock.Lock();
For(int x=0;x<10;x++)
Destarray[x]=array[x];
singlelock.Unlock();
}
銆銆錛堜笁錛変俊鍙烽噺

淇″彿閲忕殑鐢ㄦ硶鍜屼簰鏂ョ殑鐢ㄦ硶寰堢浉浼鹼紝涓嶅悓鐨勬槸瀹冨彲浠ュ悓涓鏃跺埢鍏佽澶氫釜綰跨▼璁塊棶鍚屼竴涓祫婧愶紝鍒涘緩涓涓俊鍙烽噺闇瑕佺敤Csemaphore綾誨0鏄庝竴涓璞★紝涓 鏃﹀垱寤轟簡涓涓俊鍙烽噺瀵硅薄錛屽氨鍙互鐢ㄥ畠鏉ュ璧勬簮鐨勮闂妧鏈傝瀹炵幇璁℃暟澶勭悊錛屽厛鍒涘緩涓涓狢singleLock鎴朇mltiLock瀵硅薄錛岀劧鍚庣敤璇ュ璞$殑 Lock()鍑芥暟鍑忓皯榪欎釜淇″彿閲忕殑璁℃暟鍊鹼紝Unlock()鍙嶄箣銆備笅闈㈢殑浠g爜鍒嗗埆鍚姩涓変釜綰跨▼錛屾墽琛屾椂鍚屾椂鏄劇ず浜屼釜娑堟伅妗嗭紝鐒跺悗10縐掑悗絎笁涓秷鎭鎵嶅緱 浠ユ樉紺恒?br>
return 0;
}
UINT ThreadProc2(LPVOID param)
{
CSingleLock singelLock(semaphore);
singleLock.Lock();
Sleep(10000);
::MessageBox((HWND)param,"Thread2 had access","Thread2",MB_OK);
return 0;
}

UINT ThreadProc3(LPVOID param)
{
CsingleLock singelLock(semaphore);
singleLock.Lock();
Sleep(10000);
::MessageBox((HWND)param,"Thread3 had access","Thread3",MB_OK);
return 0;
}
銆銆浜屻?緙栫▼姝ラ

1銆?鍚姩Visual C++6.0錛岀敓鎴愪竴涓?2浣嶇殑鎺у埗鍙扮▼搴忥紝灝嗚紼嬪簭鍛藉悕涓?sequence"

2銆?杈撳叆瑕佹帓緇殑鏁板瓧錛屽0鏄庡洓涓瓙綰跨▼錛?br>
3銆?杈撳叆浠g爜錛岀紪璇戣繍琛岀▼搴忋?/p>

涓夈?紼嬪簭浠g爜

#include "stdlib.h"
#include "memory.h"
HANDLE evtTerminate; //浜嬩歡淇″彿,鏍囪鏄惁鎵鏈夊瓙綰跨▼閮芥墽琛屽畬
/*
涓嬮潰浣跨敤浜嗕笁縐嶆帶鍒舵柟娉曪紝浣犲彲浠ユ敞閲婂叾涓袱縐嶏紝浣跨敤鍏朵腑涓縐嶃?br> 娉ㄦ剰淇敼鏃惰榪炲甫淇敼涓寸晫鍖篜rintResult閲岀殑鐩稿簲鎺у埗璇彞
*/
HANDLE evtPrint; //浜嬩歡淇″彿,鏍囪浜嬩歡鏄惁宸插彂鐢?br> //CRITICAL_SECTION csPrint; //涓寸晫鍖?br> //HANDLE mtxPrint; //浜掓枼淇″彿,濡傛湁淇″彿琛ㄦ槑宸茬粡鏈夌嚎紼嬭繘鍏ヤ復鐣屽尯騫舵嫢鏈夋淇″彿
static long ThreadCompleted = 0;
/*鐢ㄦ潵鏍囪鍥涗釜瀛愮嚎紼嬩腑宸插畬鎴愮嚎紼嬬殑涓暟,褰撲竴涓瓙綰跨▼瀹屾垚鏃跺氨瀵筎hreadCompleted榪涜鍔犱竴鎿嶄綔, 瑕佷嬌鐢↖nterlockedIncrement(long* lpAddend)鍜孖nterlockedDecrement(long* lpAddend)榪涜鍔犲噺鎿嶄綔*/

//涓嬮潰鐨勭粨鏋勬槸鐢ㄤ簬浼犻佹帓搴忕殑鏁版嵁緇欏悇涓帓搴忓瓙綰跨▼
struct MySafeArray
{
long* data;
int iLength;
};

//鎵撳嵃姣忎竴涓嚎紼嬬殑鎺掑簭緇撴灉
void PrintResult(long* Array, int iLength, const char* HeadStr = "sort");

//鎺掑簭鍑芥暟
unsigned long __stdcall BubbleSort(void* theArray); //鍐掓場鎺掑簭
unsigned long __stdcall SelectSort(void* theArray); //閫夋嫨鎺掑簭
unsigned long __stdcall HeapSort(void* theArray); //鍫嗘帓搴?br> unsigned long __stdcall InsertSort(void* theArray); //鎻掑叆鎺掑簭
/*浠ヤ笂鍥涗釜鍑芥暟鐨勫0鏄庡繀欏婚傚悎浣滀負涓涓嚎紼嬪嚱鏁扮殑蹇呰鏉′歡鎵嶅彲浠ヤ嬌鐢–reateThread
寤虹珛涓涓嚎紼嬨?br> 錛?錛夎皟鐢ㄦ柟娉曞繀欏繪槸__stdcall錛屽嵆鍑芥暟鍙傛暟鍘嬫爤欏哄簭鐢卞彸鍒板乏錛岃屼笖鐢卞嚱鏁版湰韜礋璐?br> 鏍堢殑鎭㈠, C鍜孋++榛樿鏄痏_cdecl, 鎵浠ヨ鏄懼紡澹版槑鏄痏_stdcall
錛?錛夎繑鍥炲煎繀欏繪槸unsigned long
錛?錛夊弬鏁板繀欏繪槸涓涓?2浣嶅鹼紝濡備竴涓寚閽堝兼垨long綾誨瀷
(4) 濡傛灉鍑芥暟鏄被鎴愬憳鍑芥暟錛屽繀欏誨0鏄庝負static鍑芥暟錛屽湪CreateThread鏃跺嚱鏁版寚閽堟湁鐗規畩鐨勫啓娉曘傚涓?鍑芥暟鏄被CThreadTest鐨勬垚鍛樺嚱鏁頒腑)錛?br> static unsigned long _stdcall MyThreadFun(void* pParam);
handleRet = CreateThread(NULL, 0, &CThreadTestDlg::MyThreadFun, NULL, 0, &ThreadID);
涔嬫墍浠ヨ澹版槑涓簊tatic鏄敱浜庯紝璇ュ嚱鏁板繀欏昏鐙珛浜庡璞″疄渚嬫潵浣跨敤錛屽嵆浣挎病鏈夊0鏄庡疄渚嬩篃鍙互浣跨敤銆?/

int QuickSort(long* Array, int iLow, int iHigh); //蹇熸帓搴?br>
int main(int argc, char* argv[])
{
long data[] = {123,34,546,754,34,74,3,56};
int iDataLen = 8;
//涓轟簡瀵瑰悇涓瓙綰跨▼鍒嗗埆瀵瑰師濮嬫暟鎹繘琛屾帓搴忓拰淇濆瓨鎺掑簭緇撴灉
//鍒嗗埆鍒嗛厤鍐呭瓨瀵筪ata鏁扮粍鐨勬暟鎹繘琛屽鍒?br> long *data1, *data2, *data3, *data4, *data5;
MySafeArray StructData1, StructData2, StructData3, StructData4;
data1 = new long[iDataLen];
memcpy(data1, data, iDataLen << 2); //鎶奷ata涓殑鏁版嵁澶嶅埗鍒癲ata1涓?br> //鍐呭瓨澶嶅埗 memcpy(鐩爣鍐呭瓨鎸囬拡, 婧愬唴瀛樻寚閽? 澶嶅埗瀛楄妭鏁?, 鍥犱負long鐨勯暱搴?br> //涓?瀛楄妭,鎵浠ュ鍒剁殑瀛楄妭鏁頒負iDataLen << 2, 鍗崇瓑浜巌DataLen*4
StructData1.data = data1;
StructData1.iLength = iDataLen;
data2 = new long[iDataLen];
memcpy(data2, data, iDataLen << 2);
StructData2.data = data2;
StructData2.iLength = iDataLen;
data3 = new long[iDataLen];
memcpy(data3, data, iDataLen << 2);
StructData3.data = data3;
StructData3.iLength = iDataLen;
data4 = new long[iDataLen];
memcpy(data4, data, iDataLen << 2);
StructData4.data = data4;
StructData4.iLength = iDataLen;
data5 = new long[iDataLen];
memcpy(data5, data, iDataLen << 2);
unsigned long TID1, TID2, TID3, TID4;
//瀵逛俊鍙烽噺榪涜鍒濆鍖?br> evtTerminate = CreateEvent(NULL, FALSE, FALSE, "Terminate");
evtPrint = CreateEvent(NULL, FALSE, TRUE, "PrintResult");
//鍒嗗埆寤虹珛鍚勪釜瀛愮嚎紼?br> CreateThread(NULL, 0, &BubbleSort, &StructData1, NULL, &TID1);
CreateThread(NULL, 0, &SelectSort, &StructData2, NULL, &TID2);
CreateThread(NULL, 0, &HeapSort, &StructData3, NULL, &TID3);
CreateThread(NULL, 0, &InsertSort, &StructData4, NULL, &TID4);
//鍦ㄤ富綰跨▼涓墽琛岃蹇熸帓搴忥紝鍏朵粬鎺掑簭鍦ㄥ瓙綰跨▼涓墽琛?
QuickSort(data5, 0, iDataLen - 1);
PrintResult(data5, iDataLen, "Quick Sort");
WaitForSingleObject(evtTerminate, INFINITE); //絳夊緟鎵鏈夌殑瀛愮嚎紼嬬粨鏉?br> //鎵鏈夌殑瀛愮嚎紼嬬粨鏉熷悗錛屼富綰跨▼鎵嶅彲浠ョ粨鏉?br> delete[] data1;
delete[] data2;
delete[] data3;
delete[] data4;
CloseHandle(evtPrint);
return 0;
}

/*
鍐掓場鎺掑簭鎬濇兂(鍗囧簭錛岄檷搴忓悓鐞嗭紝鍚庨潰鐨勭畻娉曚竴鏍烽兘鏄崌搴?:浠庡ご鍒板熬瀵規暟鎹繘琛屼袱涓ゆ瘮杈冭繘琛屼氦鎹?灝忕殑鏀懼墠澶х殑鏀懼悗銆傝繖鏍蜂竴嬈′笅鏉ワ紝鏈澶х殑鍏冪礌灝變細琚氦鎹㈢殑鏈鍚庯紝鐒跺悗涓嬩竴嬈?
寰幆灝變笉鐢ㄥ鏈鍚庝竴涓厓绱犺繘琛屾瘮杈冧氦鎹簡錛屾墍浠ュ憿姣忎竴嬈℃瘮杈冧氦鎹㈢殑嬈℃暟閮芥瘮涓婁竴嬈″驚鐜殑嬈℃暟灝戜竴錛岃繖鏍種嬈′箣鍚庢暟鎹氨鍙樺緱鍗囧簭鎺掑垪浜?/
unsigned long __stdcall BubbleSort(void* theArray)
{
long* Array = ((MySafeArray*)theArray)->data;
int iLength = ((MySafeArray*)theArray)->iLength;
int i, j=0;
long swap;
for (i = iLength-1; i >0; i--)
{
for(j = 0; j < i; j++)
{
if(Array[j] >Array[j+1]) //鍓嶆瘮鍚庡ぇ錛屼氦鎹?br> {
swap = Array[j];
Array[j] = Array[j+1];
Array[j+1] = swap;
}
}
}
PrintResult(Array, iLength, "Bubble Sort"); //鍚戞帶鍒跺彴鎵撳嵃鎺掑簭緇撴灉
InterlockedIncrement(&ThreadCompleted); //榪斿洖鍓嶄嬌綰跨▼瀹屾垚鏁版爣璁板姞1
if(ThreadCompleted == 4) SetEvent(evtTerminate); //媯鏌ユ槸鍚﹀叾浠栫嚎紼嬮兘宸叉墽琛屽畬
//鑻ラ兘鎵ц瀹屽垯璁劇疆紼嬪簭緇撴潫淇″彿閲?br> return 0;
}

/*閫夋嫨鎺掑簭鎬濇兂:姣忎竴嬈¢兘浠庢棤搴忕殑鏁版嵁涓壘鍑烘渶灝忕殑鍏冪礌錛岀劧鍚庡拰鍓嶉潰宸茬粡鏈夊簭鐨勫厓绱犲簭鍒楃殑鍚庝竴涓厓绱犺繘琛屼氦鎹紝榪欐牱鏁翠釜婧愬簭鍒楀氨浼氬垎鎴愪袱閮ㄥ垎錛屽墠闈竴閮? 鍒嗘槸宸茬粡鎺掑ソ搴忕殑鏈夊簭搴忓垪錛屽悗闈竴閮ㄥ垎鏄棤搴忕殑錛岀敤浜庨夊嚭鏈灝忕殑鍏冪礌銆傚驚鐜疦嬈′箣鍚庯紝鍓嶉潰鐨勬湁搴忓簭鍒楀姞闀垮埌璺熸簮搴忓垪涓鏍烽暱錛屽悗闈㈢殑鏃犲簭閮ㄥ垎闀垮害鍙樹負0錛屾帓 搴忓氨瀹屾垚浜嗐?/
unsigned long __stdcall SelectSort(void* theArray)
{
long* Array = ((MySafeArray*)theArray)->data;
int iLength = ((MySafeArray*)theArray)->iLength;
long lMin, lSwap;
int i, j, iMinPos;
for(i=0; i < iLength-1; i++)
{
lMin = Array[i];
iMinPos = i;
for(j=i + 1; j <= iLength-1; j++) //浠庢棤搴忕殑鍏冪礌涓壘鍑烘渶灝忕殑鍏冪礌
{
if(Array[j] < lMin)
{
iMinPos = j;
lMin = Array[j];
}
}
//鎶婇夊嚭鐨勫厓绱犱氦鎹㈡嫾鎺ュ埌鏈夊簭搴忓垪鐨勬渶鍚?br> lSwap = Array[i];
Array[i] = Array[iMinPos];
Array[iMinPos] = lSwap;
}
PrintResult(Array, iLength, "Select Sort"); //鍚戞帶鍒跺彴鎵撳嵃鎺掑簭緇撴灉
InterlockedIncrement(&ThreadCompleted); //榪斿洖鍓嶄嬌綰跨▼瀹屾垚鏁版爣璁板姞1
if(ThreadCompleted == 4) SetEvent(evtTerminate);//媯鏌ユ槸鍚﹀叾浠栫嚎紼嬮兘宸叉墽琛屽畬
//鑻ラ兘鎵ц瀹屽垯璁劇疆紼嬪簭緇撴潫淇″彿閲?br> return 0;
}

/*鍫嗘帓搴忔濇兂錛氬爢錛氭暟鎹厓绱犱粠1鍒癗鎺掑垪鎴愪竴媯典簩鍙夋爲錛岃屼笖榪欐5鏍戠殑姣忎竴涓瓙鏍戠殑鏍歸兘鏄鏍戜腑鐨勫厓绱犵殑鏈灝忔垨鏈澶х殑鍏冪礌榪欐牱濡傛灉涓涓棤搴忔暟鎹泦鍚堟槸涓涓? 鍫嗛偅涔堬紝鏍瑰厓绱犲氨鏄渶灝忔垨鏈澶х殑鍏冪礌鍫嗘帓搴忓氨鏄笉鏂鍓╀笅鐨勬暟鎹緩鍫嗭紝鎶婃渶灝忔垨鏈澶х殑鍏冪礌鏋愰忓嚭鏉ャ備笅闈㈢殑綆楁硶錛屽氨鏄粠鏈鍚庝竴涓厓绱犲紑濮嬶紝渚濇嵁涓涓妭鐐規瘮 鐖惰妭鐐規暟鍊煎ぇ鐨勫師鍒欏鎵鏈夊厓绱犺繘琛岃皟鏁達紝榪欐牱璋冩暣涓嬈″氨褰㈡垚涓涓爢錛岀涓涓厓绱犲氨鏄渶灝忕殑鍏冪礌銆傜劧鍚庡啀瀵瑰墿涓嬬殑鏃犲簭鏁版嵁鍐嶈繘琛屽緩鍫嗭紝娉ㄦ剰榪欐椂鍚庨潰鐨勬棤搴忔暟 鎹厓绱犵殑搴忔暟閮借鏀瑰彉錛屽絎竴嬈″緩鍫嗗悗錛岀浜屼釜鍏冪礌灝變細鍙樻垚鍫嗙殑絎竴涓厓绱犮?/
unsigned long __stdcall HeapSort(void* theArray)
{
long* Array = ((MySafeArray*)theArray)->data;
int iLength = ((MySafeArray*)theArray)->iLength;
int i, j, p;
long swap;
for(i=0; i銆{
for(j = iLength - 1; j>i; j--) //浠庢渶鍚庡掓暟涓婂幓姣旇緝瀛楄妭鐐瑰拰鐖惰妭鐐?br> {
p = (j - i - 1)/2 + i; //璁$畻鐖惰妭鐐規暟緇勪笅鏍?br> //娉ㄦ剰鍒版爲鑺傜偣搴忔暟璺熸暟緇勪笅鏍囦笉鏄瓑鍚岀殑錛屽洜涓哄緩鍫嗙殑鍏冪礌涓暟閫愪釜閫掑噺
if(Array[j] < Array[p]) //濡傛灉鐖惰妭鐐規暟鍊煎ぇ鍒欎氦鎹㈢埗鑺傜偣鍜屽瓧鑺傜偣
{
swap = Array[j];
Array[j] = Array[p];
Array[p] = swap;
}
}
}
PrintResult(Array, iLength, "Heap Sort"); //鍚戞帶鍒跺彴鎵撳嵃鎺掑簭緇撴灉
InterlockedIncrement(&ThreadCompleted); //榪斿洖鍓嶄嬌綰跨▼瀹屾垚鏁版爣璁板姞1
if(ThreadCompleted == 4) SetEvent(evtTerminate); //媯鏌ユ槸鍚﹀叾浠栫嚎紼嬮兘宸叉墽琛屽畬
//鑻ラ兘鎵ц瀹屽垯璁劇疆紼嬪簭緇撴潫淇″彿閲?br> return 0;
}

/*鎻掑叆鎺掑簭鎬濇兂錛氭妸婧愭暟鎹簭鍒楃湅鎴愪袱鍗婏紝鍓嶉潰涓鍗婃槸鏈夊簭鐨勶紝鍚庨潰涓鍗婃槸鏃犲簭鐨勶紝鎶婃棤搴忕殑鏁版嵁浠庡ご鍒板熬閫愪釜閫愪釜鐨勬彃鍏ュ埌鍓嶉潰鐨勬湁搴忔暟鎹腑錛屼嬌寰楁湁搴忕殑鏁版嵁鐨勪釜鏁頒笉鏂澶э紝鍚屾椂鏃犲簭鐨勬暟鎹釜鏁板氨瓚婃潵瓚婂皯錛屾渶鍚庢墍鏈夊厓绱犻兘浼氬彉寰楁湁搴忋?/
unsigned long __stdcall InsertSort(void* theArray)
{
long* Array = ((MySafeArray*)theArray)->data;
int iLength = ((MySafeArray*)theArray)->iLength;
int i=1, j=0;
long temp;
for(i=1; i銆{
temp = Array[i]; //鍙栧嚭搴忓垪鍚庨潰鏃犲簭鏁版嵁鐨勭涓涓厓绱犲?br> for(j=i; j>0; j--) //鍜屽墠闈㈢殑鏈夊簭鏁版嵁閫愪釜榪涜姣旇緝鎵懼嚭鍚堥傜殑鎻掑叆浣嶇疆
{
if(Array[j - 1] >temp) //濡傛灉璇ュ厓绱犳瘮鎻掑叆鍊煎ぇ鍒欏悗縐?br> Array[j] = Array[j - 1];
else //濡傛灉璇ュ厓绱犳瘮鎻掑叆鍊煎皬錛岄偅涔堣浣嶇疆鐨勫悗涓浣嶅氨鏄彃鍏ュ厓绱犵殑浣嶇疆
break;
}
Array[j] = temp;
}
PrintResult(Array, iLength, "Insert Sort"); //鍚戞帶鍒跺彴鎵撳嵃鎺掑簭緇撴灉
InterlockedIncrement(&ThreadCompleted); //榪斿洖鍓嶄嬌綰跨▼瀹屾垚鏁版爣璁板姞1
if(ThreadCompleted == 4) SetEvent(evtTerminate); //媯鏌ユ槸鍚﹀叾浠栫嚎紼嬮兘宸叉墽琛屽畬
//鑻ラ兘鎵ц瀹屽垯璁劇疆紼嬪簭緇撴潫淇″彿閲?br> return 0;
}

/*蹇熸帓搴忔濇兂錛氬揩閫熸帓搴忔槸鍒嗘不鎬濇兂鐨勪竴縐嶅簲鐢紝瀹冨厛閫夊彇涓涓敮鐐癸紝鐒跺悗鎶婂皬浜庢敮鐐圭殑鍏冪礌浜ゆ崲鍒版敮鐐圭殑鍓嶈竟錛屾妸澶т簬鏀偣鐨勫厓绱犱氦鎹㈠埌鏀偣鐨勫彸杈廣傜劧鍚庡啀瀵規敮鐐瑰乏杈歸儴鍒嗗拰鍙?br> 杈歸儴鍒嗚繘琛屽悓鏍風殑澶勭悊錛岃繖鏍瘋嫢騫叉涔嬪悗錛屾暟鎹氨浼氬彉寰楁湁搴忋備笅闈㈢殑瀹炵幇浣跨敤浜嗛掑綊
寤虹珛涓や釜娓告爣錛歩Low錛宨High錛沬Low鎸囧悜搴忓垪鐨勭涓涓厓绱狅紝iHigh鎸囧悜鏈鍚庝竴涓厛閫夌涓涓厓绱犱綔涓烘敮鐐癸紝騫舵妸瀹冪殑鍊煎瓨璐湪涓涓緟鍔╁彉閲忛噷銆? 閭d箞絎竴涓綅緗氨鍙樹負絀哄茍鍙互鏀劇疆鍏朵粬鐨勫厓绱犮? 榪欐牱浠巌High鎸囧悜鐨勫厓绱犲紑濮嬪悜鍓嶇Щ鍔ㄦ父鏍囷紝iHigh鏌ユ壘姣旀敮鐐瑰皬鐨勫厓绱狅紝濡傛灉鎵懼埌錛屽垯鎶婂畠鏀劇疆鍒扮┖緗簡鐨勪綅緗紙鐜板湪鏄涓涓綅緗級錛岀劧鍚巌High 娓告爣鍋滄縐誨姩錛岃繖鏃秈High鎸囧悜鐨勪綅緗絀虹疆錛岀劧鍚庣Щ鍔╥Low娓告爣瀵繪壘姣旀敮鐐瑰ぇ鐨勫厓绱犳斁緗埌iHigh鎸囧悜鐨勭┖緗殑浣嶇疆錛屽姝ゅ線澶嶇洿鍒癷Low涓? iHigh鐩哥瓑銆傛渶鍚庝嬌鐢ㄩ掑綊瀵瑰乏鍙充袱閮ㄥ垎榪涜鍚屾牱澶勭悊*/

int QuickSort(long* Array, int iLow, int iHigh)
{
if(iLow >= iHigh) return 1; //閫掑綊緇撴潫鏉′歡
long pivot = Array[iLow];
int iLowSaved = iLow, iHighSaved = iHigh; //淇濇湭鏀瑰彉鐨刬Low錛宨High鍊間繚瀛樿搗鏉?br> while (iLow < iHigh)
{
while (Array[iHigh] >= pivot && iHigh >iLow) //瀵繪壘姣旀敮鐐瑰ぇ鐨勫厓绱?br> iHigh -- ;
Array[iLow] = Array[iHigh]; //鎶婃壘鍒扮殑鍏冪礌鏀劇疆鍒扮┖緗殑浣嶇疆
while (Array[iLow] < pivot && iLow < iHigh) //瀵繪壘姣旀敮鐐瑰皬鐨勫厓绱?br> iLow ++ ;
Array[iHigh] = Array[iLow]; //鎶婃壘鍒扮殑鍏冪礌鏀劇疆鍒扮┖緗殑浣嶇疆
}
Array[iLow] = pivot; //鎶婃敮鐐瑰兼斁緗埌鏀偣浣嶇疆錛岃繖鏃舵敮鐐逛綅緗槸絀虹疆鐨?br> //瀵瑰乏鍙抽儴鍒嗗垎鍒繘琛岄掑綊澶勭悊
QuickSort(Array, iLowSaved, iHigh-1);
QuickSort(Array, iLow+1, iHighSaved);
return 0;
}

//姣忎竴涓嚎紼嬮兘瑕佷嬌鐢ㄨ繖涓嚱鏁拌繘琛岃緭鍑猴紝鑰屼笖鍙湁涓涓樉紺哄櫒錛屼駭鐢熷涓嚎紼?br> //绔炰簤瀵規帶鍒跺彴鐨勪嬌鐢ㄦ潈銆?br> void PrintResult(long* Array, int iLength, const char* HeadStr)
{
WaitForSingleObject(evtPrint, INFINITE); //絳夊緟浜嬩歡鏈変俊鍙?br> //EnterCriticalSection(&csPrint); //鏍囪鏈夌嚎紼嬭繘鍏ヤ復鐣屽尯
//WaitForSingleObject(mtxPrint, INFINITE); //絳夊緟浜掓枼閲忕┖緗紙娌℃湁綰跨▼鎷ユ湁瀹冿級
int i;
printf("%s: ", HeadStr);
for (i=0; i銆{
printf("%d,", Array[i]);
Sleep(100); //寤舵椂錛堝彲浠ュ幓鎺夛級
/*鍙槸浣垮緱澶氱嚎紼嬪涓寸晫鍖鴻闂殑闂姣旇緝瀹規槗鐪嬪緱鍒?br> 濡傛灉浣犳妸涓寸晫鎺у埗鐨勮鍙ユ敞閲婃帀錛岃緭鍑哄氨浼氬彉寰楀緢鍑屼貢錛屽悇涓帓搴忕殑緇撴灉浼?br> 鍒嗘彃闂撮殧鐫杈撳嚭錛屽鏋滀笉寤舵椂灝變笉瀹規槗鐪嬪埌榪欑涓嶅涓寸晫鍖烘帶鍒剁殑緇撴灉
*/
}
printf("%d\n", Array[i]);
SetEvent(evtPrint); //鎶婁簨浠朵俊鍙烽噺鎭㈠錛屽彉涓烘湁淇″彿
}
銆銆鍥涖?灝忕粨

瀵瑰鏉傜殑搴旂敤紼嬪簭鏉ヨ錛岀嚎紼嬬殑搴旂敤緇欏簲鐢ㄧ▼搴忔彁渚涗簡楂樻晥銆佸揩閫熴佸畨鍏ㄧ殑鏁版嵁澶勭悊鑳藉姏銆傛湰瀹炰緥璁茶堪浜嗙嚎紼嬪鐞嗕腑緇忓父閬囧埌鐨勯棶棰橈紝甯屾湜瀵硅鑰呮湅鍙嬫湁涓瀹氱殑甯姪錛岃搗鍒版姏鐮栧紩鐜夌殑浣滅敤銆?/p>

杞嚜錛坔ttp://hi.baidu.com/laodun/blog/item/8ab8f3241af3f7318644f916.html錛?/p>

]]>
鎴戠殑綾昏璁″鏌ヨ〃http://www.shnenglu.com/dbkong/archive/2007/04/17/22138.html騫沖嚒鐨勫ぉ鎵?/dc:creator>騫沖嚒鐨勫ぉ鎵?/author>Tue, 17 Apr 2007 08:44:00 GMThttp://www.shnenglu.com/dbkong/archive/2007/04/17/22138.htmlhttp://www.shnenglu.com/dbkong/comments/22138.htmlhttp://www.shnenglu.com/dbkong/archive/2007/04/17/22138.html#Feedback0http://www.shnenglu.com/dbkong/comments/commentRss/22138.htmlhttp://www.shnenglu.com/dbkong/services/trackbacks/22138.html闇瑕佹瀯閫犲櫒鍚楋紵
  • 鏁版嵁鎴愬憳鏄痯rivate鐨勫悧錛熷畠鍙互鏄痗onst鐨勫悧錛?
  • 闇瑕侀粯璁ゆ瀯閫犲櫒鍚楋紵
  • 鏄笉鏄瘡涓瀯閫犲櫒鍒濆鍖栦簡鎵鏈夋垚鍛橈紵
  • 闇瑕佹瀽鏋勫櫒鍚楋紵瀹冮渶瑕佽櫄鍖栧悧錛?
  • 闇瑕佹嫹璐濇瀯閫犲櫒鍚楋紵
  • 闇瑕乤ssigment operator鍚楋紵瀹冭兘姝g‘鑷祴鍊煎悧錛?
  • 闇瑕佸叧緋繪搷浣滅鍚楋紵
  • 鍦ㄥ嚱鏁板艦鍙備笂浣跨敤浜哻onst鍚楋紵鍦ㄦ垚鍛樺嚱鏁頒箣鍚庡憿錛?
  • 鍒犻櫎鏁扮粍鎴愬憳鏃剁敤delete []鍚楋紵


  • ]]>
    鎿嶄綔絎﹂噸杞界殑浣嶇疆閫夋嫨錛堥夋嫨鎴愬憳鎴栭潪鎴愬憳錛?/title><link>http://www.shnenglu.com/dbkong/archive/2007/04/13/21772.html</link><dc:creator>騫沖嚒鐨勫ぉ鎵?/dc:creator><author>騫沖嚒鐨勫ぉ鎵?/author><pubDate>Fri, 13 Apr 2007 03:40:00 GMT</pubDate><guid>http://www.shnenglu.com/dbkong/archive/2007/04/13/21772.html</guid><wfw:comment>http://www.shnenglu.com/dbkong/comments/21772.html</wfw:comment><comments>http://www.shnenglu.com/dbkong/archive/2007/04/13/21772.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/dbkong/comments/commentRss/21772.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/dbkong/services/trackbacks/21772.html</trackback:ping><description><![CDATA[<p>1.璧嬪?錛?,涓嬫爣([]),璋冪敤( () )鍜屾垚鍛樿闂澶?->)絳夋搷浣滅蹇呴』瀹氫箟涓烘垚鍛?灝嗚繖浜涘畾涔変負闈炴垚鍛樺嚱鏁板皢鍦ㄧ紪璇戞椂鏍囪涓洪敊璇?/p> 2.鍍忚祴鍊間竴鏍?澶嶅悎璧嬪兼搷浣滅閫氬父搴斿畾涔変負綾葷殑鎴愬憳,涓庤祴鍊間笉鍚岀殑鏄?涓嶄竴瀹氶潪寰楄繖鏍峰仛,濡傛灉瀹氫箟闈炴垚鍛樺鍚堣祴鍊兼搷浣滅,涓嶄細鍑虹幇緙栬瘧閿欒.<br>3.鏀瑰彉瀵硅薄鐘舵佹垨涓庣粰欏剁被鍨嬬揣瀵嗚仈緋葷殑鍏朵粬涓浜涙搷浣滅,濡傝嚜澧?鑷噺鍜岃嚜瑙e紩鐢?閫氬父搴斿畾涔変負綾繪垚鍛?br>4.瀵圭О鐨勬搷浣滅鍙?濡傜畻鏈搷浣滅,鐩哥瓑鎿嶄綔絎?鍏崇郴鎿嶄綔絎﹀拰浣嶆搷浣滅,鏈濂藉畾涔変負鏅氶潪鎴愬憳鍑芥暟. <img src ="http://www.shnenglu.com/dbkong/aggbug/21772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/dbkong/" target="_blank">騫沖嚒鐨勫ぉ鎵?/a> 2007-04-13 11:40 <a href="http://www.shnenglu.com/dbkong/archive/2007/04/13/21772.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀹氫箟榛樿瀹炲弬鐨勭害鏉?/title><link>http://www.shnenglu.com/dbkong/archive/2007/04/13/21769.html</link><dc:creator>騫沖嚒鐨勫ぉ鎵?/dc:creator><author>騫沖嚒鐨勫ぉ鎵?/author><pubDate>Fri, 13 Apr 2007 02:43:00 GMT</pubDate><guid>http://www.shnenglu.com/dbkong/archive/2007/04/13/21769.html</guid><wfw:comment>http://www.shnenglu.com/dbkong/comments/21769.html</wfw:comment><comments>http://www.shnenglu.com/dbkong/archive/2007/04/13/21769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/dbkong/comments/commentRss/21769.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/dbkong/services/trackbacks/21769.html</trackback:ping><description><![CDATA[鏃㈠彲浠ュ湪鍑芥暟澹版槑涔熷彲浠ュ湪鍑芥暟瀹氫箟涓寚瀹氶粯璁ゅ疄鍙?浣嗘槸鍦ㄤ竴涓枃浠朵腑,鍙兘涓轟竴涓艦鍙傛寚瀹氶粯璁ゅ疄鍙備竴嬈′笅闈㈢殑渚嬪瓙鏄敊璇殑,<br>//ff.h<br>int ff(int=0);<br>//ff.cc<br>#include "ff.h"<br>int ff(int i=0){}//error<br>濡傛灉鍦ㄥ嚱鏁板畾涔夌殑褰㈠弬琛ㄤ腑鎻愪緵榛樿瀹炲弬,閭d箞鍙湁鍦ㄥ寘鍚鍑芥暟瀹氫箟鐨勬簮鏂囦歡涓皟鐢ㄨ鍑芥暟鏃?榛樿瀹炲弬鎵嶆槸鏈夋晥鐨? <img src ="http://www.shnenglu.com/dbkong/aggbug/21769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/dbkong/" target="_blank">騫沖嚒鐨勫ぉ鎵?/a> 2007-04-13 10:43 <a href="http://www.shnenglu.com/dbkong/archive/2007/04/13/21769.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浠涔堟椂鍊欏繀欏諱嬌鐢ㄥ垵濮嬪寲鍒楄〃http://www.shnenglu.com/dbkong/archive/2007/04/10/21586.html騫沖嚒鐨勫ぉ鎵?/dc:creator>騫沖嚒鐨勫ぉ鎵?/author>Tue, 10 Apr 2007 04:01:00 GMThttp://www.shnenglu.com/dbkong/archive/2007/04/10/21586.htmlhttp://www.shnenglu.com/dbkong/comments/21586.htmlhttp://www.shnenglu.com/dbkong/archive/2007/04/10/21586.html#Feedback0http://www.shnenglu.com/dbkong/comments/commentRss/21586.htmlhttp://www.shnenglu.com/dbkong/services/trackbacks/21586.html1.娌℃湁榛樿鏋勯犲嚱鏁扮殑綾葷被鍨嬬殑鎴愬憳(榪欐槸鍥犱負鏋勯犲嚱鏁板垎涓轟袱涓樁孌?1.鍒濆鍖栭樁孌?2.鏅氳綆楅樁孌?鍒濆鍖栭樁孌靛彂鐢熷湪璁$畻闃舵寮濮嬩箣鍓?
    2.鎴愬憳涓篶onst鎴栧紩鐢ㄧ被鍨?
     

    ]]>
    鍓嶅悜澹版槑http://www.shnenglu.com/dbkong/archive/2007/04/09/21566.html騫沖嚒鐨勫ぉ鎵?/dc:creator>騫沖嚒鐨勫ぉ鎵?/author>Mon, 09 Apr 2007 15:24:00 GMThttp://www.shnenglu.com/dbkong/archive/2007/04/09/21566.htmlhttp://www.shnenglu.com/dbkong/comments/21566.htmlhttp://www.shnenglu.com/dbkong/archive/2007/04/09/21566.html#Feedback3http://www.shnenglu.com/dbkong/comments/commentRss/21566.htmlhttp://www.shnenglu.com/dbkong/services/trackbacks/21566.html   鍙互澹版槑涓涓被鑰屼笉瀹氫箟瀹?br>   class Screen;//declaration of the Screen class
       榪欎釜澹版槑,鏈夋椂鍊欒縐頒負鍓嶅悜澹版槑(forward declaration),鍦ㄧ▼搴忎腑寮曞叆浜嗙被綾誨瀷鐨凷creen.鍦ㄥ0鏄庝箣鍚?瀹氫箟涔嬪墠,綾籗creen鏄竴涓笉瀹屽叏綾誨瀷(incompete type),鍗沖凡鐭creen鏄竴涓被鍨?浣嗕笉鐭ラ亾鍖呭惈鍝簺鎴愬憳.
       涓嶅畬鍏ㄧ被鍨嬪彧鑳戒互鏈夐檺鏂瑰紡浣跨敤,涓嶈兘瀹氫箟璇ョ被鍨嬬殑瀵硅薄,涓嶅畬鍏ㄧ被鍨嬪彧鑳界敤浜庡畾涔夋寚鍚戣綾誨瀷鐨勬寚閽堝強寮曠敤,鎴栬呯敤浜庡0鏄?鑰屼笉鏄畾涔?浣跨敤璇ョ被鍨嬩綔涓哄艦鍙傜被鍨嬫垨榪斿洖綾誨瀷鐨勫嚱鏁?



    ]]>
    PostMessage涓嶴endMessage鐨勫尯鍒?/title><link>http://www.shnenglu.com/dbkong/archive/2007/03/09/19480.html</link><dc:creator>騫沖嚒鐨勫ぉ鎵?/dc:creator><author>騫沖嚒鐨勫ぉ鎵?/author><pubDate>Fri, 09 Mar 2007 03:31:00 GMT</pubDate><guid>http://www.shnenglu.com/dbkong/archive/2007/03/09/19480.html</guid><wfw:comment>http://www.shnenglu.com/dbkong/comments/19480.html</wfw:comment><comments>http://www.shnenglu.com/dbkong/archive/2007/03/09/19480.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.shnenglu.com/dbkong/comments/commentRss/19480.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/dbkong/services/trackbacks/19480.html</trackback:ping><description><![CDATA[ <font size="2">PostMessage</font> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鍙槸鎶婃秷鎭斁鍏ラ槦鍒楋紝涓嶇鍏朵粬紼嬪簭鏄惁澶勭悊閮借繑鍥烇紝鐒跺悗緇х畫鎵ц</span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">;<br /></font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鑰?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">SendMessage</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">蹇呴』絳夊緟鍏朵粬紼嬪簭澶勭悊娑堟伅鍚庢墠榪斿洖錛岀戶緇墽琛屻?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <br /> <font face="Times New Roman">PostMessage</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鐨勮繑鍥炲艱〃紺?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">PostMessage</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鍑芥暟鎵ц鏄惁姝g‘</span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">;<br /></font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鑰?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">SendMessage</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鐨勮繑鍥炲艱〃紺哄叾浠栫▼搴忓鐞嗘秷鎭悗鐨勮繑鍥炲箋?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman"> <br /> </font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">浣跨敤榪欎袱涓彂閫佹秷鎭嚱鏁扮殑鏈閲嶈鐨勬槸瑕佺湅浣犵殑紼嬪簭鏄惁瑕佸娑堟伅鐨勬粸鍚庢у叧娉ㄥ惁</span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">,PostMessage</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">浼氶犳垚娑堟伅鐨勬粸鍚庢?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">,</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鑰?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">SendMessage</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鍒欎笉浼?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">,</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">浣嗗鏋?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">SendMessage</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">娑堟伅澶勭悊澶辮觸</span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">,</font> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 瀹嬩綋; mso-bidi-font-family: Tahoma; mso-ascii-font-family: 藥胎; mso-hansi-font-family: 藥胎">鍒欎細閫犳垚紼嬪簭鍋滄</span> <span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 藥胎; mso-bidi-font-family: Tahoma"> <font face="Times New Roman">!<?XML:NAMESPACE PREFIX = O /?><o:p></o:p></font> </span> <img src ="http://www.shnenglu.com/dbkong/aggbug/19480.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/dbkong/" target="_blank">騫沖嚒鐨勫ぉ鎵?/a> 2007-03-09 11:31 <a href="http://www.shnenglu.com/dbkong/archive/2007/03/09/19480.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MFC娑堟伅璇﹁Вhttp://www.shnenglu.com/dbkong/archive/2007/03/09/19479.html騫沖嚒鐨勫ぉ鎵?/dc:creator>騫沖嚒鐨勫ぉ鎵?/author>Fri, 09 Mar 2007 03:22:00 GMThttp://www.shnenglu.com/dbkong/archive/2007/03/09/19479.htmlhttp://www.shnenglu.com/dbkong/comments/19479.htmlhttp://www.shnenglu.com/dbkong/archive/2007/03/09/19479.html#Feedback0http://www.shnenglu.com/dbkong/comments/commentRss/19479.htmlhttp://www.shnenglu.com/dbkong/services/trackbacks/19479.html杞澆鑷?a >http://blog.csdn.net/Image_Graphics/archive/2006/11/22/1405436.aspx


    1. 鎬庢牱浣跨敤MFC鍙戦佷竴涓秷鎭敤MFC鍙戦佷竴涓秷鎭殑鏂規硶鏄紝
    聽聽聽聽棣栧厛錛屽簲鑾峰彇鎺ユ敹娑堟伅鐨凜Wnd綾誨璞$殑鎸囬拡錛?br />聽聽聽聽鐒跺悗,璋冪敤CWnd鐨勬垚鍛樺嚱鏁癝endMessage( )銆?br />聽聽聽聽聽聽聽聽LRESULT Res=pWnd->SendMessage(UINT Msg, WPARAM wParam, LPARAM lParam);
    聽聽聽聽聽聽聽聽pWnd鎸囬拡鎸囧悜鐩爣CWnd綾誨璞°傚彉閲廙sg鏄秷鎭紝wParam鍜宭Param鍙橀噺鍖呭惈娑堟伅鐨勫弬鏁幫紝濡傞紶鏍囧崟鍑誨摢閲屾垨閫夋嫨浜嗕粈涔堣彍鍗曢」銆傜洰鏍囩獥鍙h繑鍥炵殑娑堟伅緇撴灉鏀懼湪鍙橀噺Res涓?br />聽聽聽聽聽聽聽聽鍙戦佹秷鎭埌涓涓病鏈塁Wnd綾誨璞$殑紿楀彛錛屽彲浠ョ敤涓嬪垪鐩爣紿楀彛鐨勫彞鏌勭洿鎺ヨ皟鐢╓indows API錛?br />聽聽聽聽聽聽聽聽LRESULT Res=::SendMessage(HWND hWnd, UINT Msg,聽 WPARAM wParam, LPARAM lParam);
    聽聽聽聽聽聽聽聽榪欓噷鐨刪Wnd鏄洰鏍囩獥鍙g殑鍙ユ焺銆?br />2. 鎬庢牱鐢∕FC瀵勯佷竴涓秷鎭?br />聽聽聽聽鐢∕FC瀵勯佷竴涓秷鎭笌鍙戦佷竴涓秷鎭嚑涔庣浉鍚岋紝浣嗗瘎閫佹椂鐢≒ostMessage( ) 錛岃屼笉鏄敤SendMessage( )錛涜繑鍥炲糝es涔熶笉涓鏍鳳紝Res涓嶆槸涓涓敱鐩爣紿楀彛榪斿洖鐨勫鹼紝鑰屾槸涓涓竷灝斿鹼紝鐢ㄦ潵琛ㄧず娑堟伅鏄惁鎴愬姛鍦版斁鍒版秷鎭槦鍒椾腑銆?br />3. 媯绱竴涓瘎閫佹秷鎭?br />聽聽聽聽姝e父鎯呭喌涓嬶紝涓鏃︽秷鎭瀵勯佸悗錛屽簲鐢ㄧ▼搴忓湪鍚庡彴鍙戦佸畠銆備絾鏄湪鐗規畩鎯呭喌涓嬶紝闇瑕佷綘鑷繁鍘誨垹闄や竴涓秷鎭紝渚嬪鎯沖湪搴旂敤紼嬪簭鎺ユ敹鍒版煇縐嶆秷鎭箣鍓嶅仠姝㈠簲鐢ㄧ▼搴忋傛湁涓ょ鏂規硶鍙互浠庡簲鐢ㄧ▼搴忔秷鎭槦鍒椾腑鍒犻櫎涓涓秷鎭紝浣嗚繖涓ょ鏂規硶閮芥病鏈夋秹鍙奙FC銆?br />鈻?絎竴縐嶆柟娉曪細鍦ㄤ笉騫叉壈浠諱綍浜嬫儏涔嬩笅紿ヨ娑堟伅闃熷垪錛岀湅鐪嬩竴涓秷鎭槸鍚﹀湪閭i噷銆?br />聽聽聽聽BOOL res=::PeekMessage(LPMSG lpMsg, HWND hWnd, UINT wMsFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
    鈻?絎簩縐嶆柟娉曪細瀹為檯涓婃槸絳夊緟錛屼竴鐩寸瓑鍒頒竴涓柊鐨勬秷鎭埌杈鵑槦鍒椾負姝紝鐒跺悗鍒犻櫎騫惰繑鍥炶娑堟伅銆?br />聽聽聽聽BOOL res=::GetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);
    聽聽聽聽鍦ㄨ繖涓ょ鏂規硶涓紝鍙橀噺hWnd鎸囧畾瑕佹埅鑾鋒秷鎭殑紿楀彛錛屽鏋滆鍙橀噺璁句負NULL錛屾墍鏈夌獥鍙f秷鎭皢琚埅鑾楓倃MsgFilterMin鍜寃MsgFilterMax鍙橀噺涓嶴endMessage( )涓殑鍙橀噺Msg鐩稿搴旓紝鎸囧畾鏌ョ湅娑堟伅鐨勮寖鍥淬傚鏋滅敤"0,0"錛屽垯鎵鏈夌殑娑堟伅閮藉皢琚埅鑾楓傚鏋滅敤WM_KEYFIRST,WM_KEYLAST鎴朩M_MOUSEFIRST,WM_MOUSELAST錛屽垯鎵鏈夐敭鐩樻垨榧犳爣鐨勬秷鎭皢琚埅鑾楓倃RemoveMsg鍙橀噺鎸囧畾PeekMessage( )鏄惁搴旇鐪熸鍦頒粠闃熷垪涓垹闄よ娑堟伅銆?GetMessage( )鎬繪槸鍒犻櫎娑堟伅)銆傝鍙橀噺鍙互鍙栦袱涓鹼細
    聽聽聽聽鈻?PM_REMOVE錛孭eekMessage( )灝嗗垹闄ゆ秷鎭?br />聽聽聽聽鈻?PM_NOREMOVE錛孭eekMessage( )灝嗘妸娑堟伅鐣欏湪闃熷垪閲岋紝騫惰繑鍥炲畠鐨勪竴涓嫹璐濄?br />聽聽聽聽褰撶劧錛屽鏋滄妸娑堟伅鐣欏湪娑堟伅闃熷垪涓紝鐒跺悗鍐嶆璋冪敤PeekMessage( )鏌ョ湅鐩稿悓綾誨瀷鐨勬秷鎭紝鍒欏皢榪斿洖瀹屽叏鐩稿悓鐨勬秷鎭?br />聽聽聽聽lpMsg鍙橀噺鏄竴涓寚鍚慚SG緇撴瀯鐨勬寚閽堬紝MSG鍖呭惈媯绱㈠埌鐨勬秷鎭?br />聽聽聽聽typedef struct tagMSG {
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽HWND hwnd; // window handle message is intended for
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽UINT message;
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽WPARAM wParam;
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LPARAM lParam;
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽DWORD time; // the time the message was put in the queue
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽POINT pt; // the location of the mouse cursor when the
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // message was put in the queue
    聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽} MSG;
    4. MFC鎬庢牱鎺ユ敹涓涓瘎閫佺殑娑堟伅
    聽聽聽 MFC澶勭悊涓涓瘎閫佸拰鍙戦佹秷鎭殑鍞竴鏄庢樉涓嶅悓鏄瘎閫佺殑娑堟伅瑕佸湪搴旂敤紼嬪簭鐨勬秷鎭槦鍒椾腑鑺辮垂涓浜涙椂闂淬傚湪娑堟伅娉?message pump)寮瑰嚭瀹冧箣鍓嶏紝瀹冭涓鐩村湪闃熷垪涓?br />聽聽聽 娑堟伅娉?br />聽聽聽 MFC搴旂敤紼嬪簭涓殑娑堟伅娉靛湪CWinApp鐨勬垚鍛樺嚱鏁癛un()涓傚簲鐢ㄧ▼搴忓紑濮嬭繍琛屾椂錛孯un()灝辮璋冪敤,Run()鎶婃椂闂村垎鍓叉垚涓ら儴鍒嗐備竴閮ㄥ垎鐢ㄦ潵鎵ц鍚庡彴澶勭悊錛屽鍙栨秷涓存椂CWnd瀵硅薄錛涘彟涓閮ㄥ垎鐢ㄦ潵媯鏌ユ秷鎭槦鍒椼傚綋涓涓柊鐨勬秷鎭繘鏉ユ椂錛孯un()鎶藉彇瀹冣斿嵆鐢℅etMessage( )浠庨槦鍒椾腑鍙栧嚭璇ユ秷鎭紝榪愯涓や釜娑堟伅緲昏瘧鍑芥暟錛岀劧鍚庣敤DispatchMessage( )鍑芥暟璋冪敤璇ユ秷鎭鏈熺殑鐩爣紿楀彛榪涚▼銆?br />聽聽聽 娑堟伅娉佃皟鐢ㄧ殑涓や釜緲昏瘧鍑芥暟鏄疨reTranslateMessage( )鍜?:TranslateMessage( )銆傜洰鏍囩獥鍙g殑MFC綾誨彲璋冪敤reTranslateMessage鍦ㄥ彂閫佹秷鎭粰瀹冧箣鍓嶈繘琛屾秷鎭炕璇戯紝渚嬪錛孋FrameWnd鐢≒reTranslateMessage( )灝嗗姞閫熼敭(濡傦紝Ctrl+S瀛樺偍鏂囦歡)杞崲涓哄懡浠ゆ秷鎭傜炕璇戝墠鐨勬秷鎭氬父琚鐞嗘帀錛岃岀炕璇戝悗鐨勬秷鎭?濡傛灉鏈夌殑璇?灝嗚閲嶆柊瀵勯佸埌闃熷垪閲屻?:TranslateMessage鏄竴涓獥鍙e嚱鏁幫紝灝嗗師濮嬮敭鐮佽漿鎹負閿瓧絎︺傛秷鎭竴鏃﹁DispatchMessage()鍙戦侊紝MFC澶勭悊瀹冨氨鍍忓鐞哠endMessage()鍙戦佺殑娑堟伅涓鏍楓?br />5. MFC鎬庢牱澶勭悊涓涓帴鏀跺埌鐨勬秷鎭?br />聽聽聽 澶勭悊鎺ユ敹鍒扮殑娑堟伅鐨勭洰鐨勯潪甯哥畝鍗曪細灝嗘秷鎭寚鍚戜竴涓嚱鏁幫紝璇ュ嚱鏁伴氳繃娑堟伅涓殑娑堟伅鏍囪瘑絎﹀鐞嗗畠銆傞潪MFC紿楀彛鐢ㄧ畝鍗曠殑case璇彞鏉ュ疄鐜拌鐩爣錛屾瘡涓猚ase璇彞鎵ц涓浜涘嚱鏁幫紝鎴栬皟鐢ㄥ叾浠栦竴浜涘嚱鏁般?br />聽聽聽 MainWndProc(HWND hWnd, UINT message, W PARAM wParam,LPARAM lParam)
    聽聽聽 {
    聽聽聽聽聽聽聽 switch(message)
    聽聽聽聽聽聽聽 {
    聽聽聽聽聽聽聽 case WM_CREATE:
    聽聽聽聽聽聽聽聽聽聽聽 : : :
    聽聽聽聽聽聽聽 break;
    聽聽聽聽聽聽聽 case WM_PAINT:
    聽聽聽聽聽聽聽聽聽聽聽 : : :
    聽聽聽聽聽聽聽 break;
    聽聽聽聽聽聽聽 default:
    聽聽聽聽聽聽聽 return(DefWindowProc(hWnd,message,wParam,lParam));
    聽聽聽聽聽聽聽 }
    聽聽聽聽聽聽聽 return(NULL);
    聽聽聽 }
    聽聽聽 浠諱綍閬楁紡鐨勬秷鎭皢琚紶杈撳埌涓涓粯璁ょ殑娑堟伅澶勭悊鍑芥暟錛屼絾鏄紝case璇彞涓嶈兘寰堝ソ鍦伴傚簲C++鍜屽皝瑁呮妧鏈傚湪C++鐜涓紝瑕佹眰娑堟伅琚竴涓笓闂ㄥ鐞嗚綾誨瀷娑堟伅鐨勭被鐨勬垚鍛樺嚱鏁板鐞嗐傚洜姝わ紝MFC涓嶉噰鐢╟ase璇彞錛岃岄噰鐢ㄦ洿鍔犲鏉傚拰鍥炴棆鐨勬柟娉曘備絾瀹冨厑璁哥敤縐佹湁綾誨鐞嗘秷鎭紝鑰屽彧闇鍋氫笅闈笁浠朵簨鎯咃細
    聽聽聽 鈻?浠庡皢瑕佹帴鏀舵秷鎭殑CWnd綾誨璞℃淳鐢熺被(瀵逛簬鍛戒護娑堟伅鏄疌CmdTarget)銆?br />聽聽聽 鈻?鍦ㄦ淳鐢熺被涓啓涓涓鐞嗘秷鎭殑鎴愬憳鍑芥暟銆?br />聽聽聽 鈻?鍦ㄧ被涓畾涔変竴涓煡鎵捐〃(鍙仛娑堟伅鏄犲儚)錛岃琛ㄥ叿鏈夋垚鍛樺嚱鏁扮殑鏉$洰鍜屽畠瑕佸鐞嗙殑娑堟伅鐨勬爣璇嗙銆?br />聽聽聽 鐒跺悗錛孧FC渚濇璋冪敤涓嬮潰鐨勫嚱鏁幫紝鎸囧紩杈撳叆娑堟伅鍒板鐞嗗嚱鏁般?br />聽聽聽 1) AfxWndProc( )鎺ユ敹娑堟伅錛屽鎵炬秷鎭墍灞炵殑CWnd瀵硅薄錛岀劧鍚庤皟鐢ˋfxCallWndProc( )銆?br />聽聽聽 2) AfxCallWndProc( )瀛樺偍娑堟伅(娑堟伅鏍囪瘑絎﹀拰鍙傛暟)渚涙湭鏉ュ弬鑰冿紝鐒跺悗璋冪敤WindowProc( )銆?br />聽聽聽 3) WindowProc( ) 鍙戦佹秷鎭粰OnWndMsg( ) 錛岀劧鍚庯紝濡傛灉娑堟伅鏈澶勭悊錛屽垯鍙戦佺粰DefWindowproc( )銆?br />聽聽聽 4) OnWndMsg( )瑕佷箞涓篧M_COMMAND娑堟伅璋冪敤OnCommand( )錛岃涔堜負WM_NOTIFY娑堟伅璋冪敤OnNotify( )銆備換浣曡閬楁紡鐨勬秷鎭兘灝嗘槸涓涓獥鍙f秷鎭侽nWndMsg( )鎼滅儲綾葷殑娑堟伅鏄犲儚錛屼互鎵懼埌涓涓兘澶勭悊浠諱綍紿楀彛娑堟伅鐨勫鐞嗗嚱鏁般傚鏋淥nWndMsg( )涓嶈兘鎵懼埌榪欐牱鐨勫鐞嗗嚱鏁幫紝鍒欐妸娑堟伅榪斿洖鍒癢indowProc( )錛岀敱瀹冨皢娑堟伅鍙戦佺粰DefWindowProc( )銆?br />聽聽聽 5) OnCommand()鏌ョ湅榪欐槸涓嶆槸涓涓帶浠墮氱煡(lParam涓嶆槸NULL)錛涘鏋滃畠鏄紝OnCommand( )灝辮瘯鍥懼皢娑堟伅鏄犲皠鍒板埗閫犻氱煡鐨勬帶浠訛紱濡傛灉瀹冧笉鏄竴涓帶浠墮氱煡錛屾垨鑰呮帶浠舵嫆緇濇槧灝勭殑娑堟伅錛孫nCommand( )灝辮皟鐢∣nCmdMsg( )銆?br />聽聽聽 6) OnNotify( )涔熻瘯鍥懼皢娑堟伅鏄犲皠鍒板埗閫犻氱煡鐨勬帶浠訛紱濡傛灉鏄犲皠涓嶆垚鍔燂紝 OnNotify( )灝辮皟鐢ㄧ浉鍚岀殑OnCmdMsg( )鍑芥暟銆?br />聽聽聽 7) 鏍規嵁鎺ユ敹娑堟伅鐨勭被錛孫nCmdMsg( )灝嗗湪涓涓О涓哄懡浠や紶閫?Command Routing)鐨勮繃紼嬩腑娼滃湪鍦頒紶閫掑懡浠ゆ秷鎭拰鎺т歡閫氱煡銆備緥濡傦紝濡傛灉鎷ユ湁璇ョ獥鍙g殑綾繪槸涓涓鏋剁被錛屽垯鍛戒護鍜岄氱煡娑堟伅涔熻浼犻掑埌瑙嗗浘鍜屾枃妗g被錛屽茍涓鴻綾誨鎵句竴涓秷鎭鐞嗗嚱鏁般?br />涓轟粈涔堣娑堟伅鏄犲儚錛?br />聽聽聽 榪欐瘯绔熸槸C++璇█錛涗負浠涔圤nWndMsg( )涓嶄負姣忎釜紿楀彛娑堟伅璋冪敤涓涓瀹氫箟鐨勮櫄鎷熷嚱鏁幫紵鍥犱負瀹冨お鍗燙PU銆傝嫢鏄偅鏍鳳紝褰撴壂鎻忎竴涓秷鎭槧鍍忎互鍔犻熻榪囩▼鏃訛紝OnWndMsg( )鍙兘浼氬仛鍑烘剰鎯充笉鍒扮殑浜嬫儏錛屽茍闄峰叆姹囩紪鍣ㄣ傛敞鎰忛氳繃閲嶈澆WindowProc( )銆丱nWndMsg( )銆丱nCommand( )銆丱nNotify( ) 鎴朞nCmdMsg( )鍙互淇敼榪欎竴榪囩▼銆傞噸杞絆nWndMsg( )鍙互鍦ㄧ獥鍙f秷鎭鎺掑簭涔嬪墠鎻掑叆璇ヨ繃紼嬨傞噸杞絆nCommand( )鎴朞nNotify( )鍙互鍦ㄦ秷鎭鍙嶅皠涔嬪墠鎻掑叆璇ヨ繃紼嬨?/p>

    ]]>
    C#涓璅ile涓嶧ileInfo鐨勫尯鍒?/title><link>http://www.shnenglu.com/dbkong/archive/2007/03/06/19310.html</link><dc:creator>騫沖嚒鐨勫ぉ鎵?/dc:creator><author>騫沖嚒鐨勫ぉ鎵?/author><pubDate>Tue, 06 Mar 2007 11:29:00 GMT</pubDate><guid>http://www.shnenglu.com/dbkong/archive/2007/03/06/19310.html</guid><wfw:comment>http://www.shnenglu.com/dbkong/comments/19310.html</wfw:comment><comments>http://www.shnenglu.com/dbkong/archive/2007/03/06/19310.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/dbkong/comments/commentRss/19310.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/dbkong/services/trackbacks/19310.html</trackback:ping><description><![CDATA[ <p>聽聽聽聽聽聽聽聽聽鍦╢ile綾諱腑,瀵歸潤鎬佹柟娉曠殑姣忎竴嬈¤皟鐢ㄩ兘浼氳繘琛屽畨鍏ㄦ鏌?鑰岀敱浜巉ileinfo綾繪槸涓涓疄渚嬬被,鍥犳鍙渶瑕佽繘琛屼竴嬈″畨鍏ㄦ鏌?濡備綍鍒ゆ柇搴旇浣跨敤鍝釜綾誨憿?鏈変釜緇忛獙娉曞垯鍙互鍙傝?濡傛灉瀵規枃浠惰繘琛屽崟嬈℃搷浣?file綾繪槸姣旇緝濂界殑閫夋嫨,鑰屽鏋滆瀵規枃浠惰繘琛屽涓搷浣?閭d箞浣跨敤fileinfo綾諱細鏈夋洿楂樼殑鏁堢巼銆?/p> <img src ="http://www.shnenglu.com/dbkong/aggbug/19310.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/dbkong/" target="_blank">騫沖嚒鐨勫ぉ鎵?/a> 2007-03-06 19:29 <a href="http://www.shnenglu.com/dbkong/archive/2007/03/06/19310.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.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://fs-nanxiang.com" target="_blank">国产精品一香蕉国产线看观看 </a>| <a href="http://hhh699.com" target="_blank">亚洲欧洲在线观看</a>| <a href="http://tcgo903.com" target="_blank">久久国产精品一区二区三区四区</a>| <a href="http://k68c.com" target="_blank">国产精品女主播一区二区三区</a>| <a href="http://ddixx.com" target="_blank">午夜国产精品影院在线观看</a>| <a href="http://116016.com" target="_blank">欧美亚洲一区</a>| <a href="http://highfivewe.com" target="_blank">亚洲第一精品夜夜躁人人爽</a>| <a href="http://lzklpc.com" target="_blank">亚洲国产午夜</a>| <a href="http://www-132377.com" target="_blank">欧美日一区二区在线观看</a>| <a href="http://2ejj.com" target="_blank">欧美一区二区三区精品电影</a>| <a href="http://www-23918.com" target="_blank">久久国产精品一区二区三区四区 </a>| <a href="http://www-87633.com" target="_blank">一本色道久久综合亚洲91</a>| <a href="http://noeljgq.com" target="_blank">亚洲精品欧美在线</a>| <a href="http://www-18873.com" target="_blank">国产日产高清欧美一区二区三区</a>| <a href="http://67idid.com" target="_blank">久久香蕉国产线看观看网</a>| <a href="http://18mmcg.com" target="_blank">欧美精品 日韩</a>| <a href="http://spyfaw.com" target="_blank">午夜精品久久久久久99热</a>| <a href="http://710952.com" target="_blank">欧美在线亚洲</a>| <a href="http://521mu.com" target="_blank">一区二区欧美激情</a>| <a href="http://961318.com" target="_blank">欧美中文字幕在线观看</a>| <a href="http://060607.com" target="_blank">夜夜嗨av色综合久久久综合网</a>| <a href="http://7redy.com" target="_blank">亚洲免费在线观看视频</a>| <a href="http://www-787333.com" target="_blank">亚洲高清不卡一区</a>| <a href="http://sepapapa8888.com" target="_blank">亚洲天堂免费观看</a>| <a href="http://bocai4488.com" target="_blank">亚洲二区在线视频</a>| <a href="http://wslsp.com" target="_blank">亚洲欧美日韩在线综合</a>| <a href="http://jafzjz.com" target="_blank">日韩午夜黄色</a>| <a href="http://91mase.com" target="_blank">久久精品国产999大香线蕉</a>| <a href="http://477980.com" target="_blank">在线视频亚洲欧美</a>| <a href="http://uu774.com" target="_blank">久久精品国产一区二区三区免费看 </a>| <a href="http://555yye.com" target="_blank">欧美一区二区三区四区夜夜大片 </a>| <a href="http://dxmdzz.com" target="_blank">欧美三级特黄</a>| <a href="http://tigerpowerinc.com" target="_blank">久久亚洲精品欧美</a>| <a href="http://icciran.com" target="_blank">欧美午夜片在线免费观看</a>| <a href="http://zjkgjt.com" target="_blank">久久综合色播五月</a>| <a href="http://666888123.com" target="_blank">国产精品第一页第二页第三页</a>| <a href="http://862323.com" target="_blank">免费在线看成人av</a>| <a href="http://www47067.com" target="_blank">国产精品久久久久久影院8一贰佰</a>| <a href="http://cz-hongbangfloor.com" target="_blank">久久久久久久久一区二区</a>| <a href="http://xilxx.com" target="_blank">欧美日韩你懂的</a>| <a href="http://xxav2121.com" target="_blank">欧美激情精品久久久久久免费印度 </a>| <a href="http://20074972.com" target="_blank">欧美激情综合</a>| <a href="http://ff9222.com" target="_blank">美腿丝袜亚洲色图</a>| <a href="http://gdjuba.com" target="_blank">国产欧美欧美</a>| <a href="http://chufengguanye.com" target="_blank">一区二区高清视频</a>| <a href="http://5474hu.com" target="_blank">亚洲精品一区二区三区99</a>| <a href="http://www-35777.com" target="_blank">久久久久久一区</a>| <a href="http://17ccem.com" target="_blank">久久久精品网</a>| <a href="http://977dy.com" target="_blank">国产精品一区二区三区四区五区</a>| <a href="http://1355456.com" target="_blank">91久久久在线</a>| <a href="http://gg5gg.com" target="_blank">亚洲日本激情</a>| <a href="http://123086.com" target="_blank">免费欧美电影</a>| <a href="http://7504329.com" target="_blank">欧美凹凸一区二区三区视频</a>| <a href="http://8332777.com" target="_blank">国产一区三区三区</a>| <a href="http://p5555ww.com" target="_blank">午夜在线精品</a>| <a href="http://chainhuayu.com" target="_blank">欧美在线网站</a>| <a href="http://4c7175.com" target="_blank">国产欧美一区二区色老头</a>| <a href="http://123086.com" target="_blank">亚洲视频电影在线</a>| <a href="http://1369080.com" target="_blank">亚洲欧美日韩精品</a>| <a href="http://lxpaiju.com" target="_blank">国产精品免费aⅴ片在线观看</a>| <a href="http://jgj230230.com" target="_blank">一区二区欧美日韩</a>| <a href="http://huaihuaihuai.com" target="_blank">亚洲视频精品</a>| <a href="http://797298.com" target="_blank">国产精品jvid在线观看蜜臀</a>| <a href="http://7234hh.com" target="_blank">一本色道久久综合亚洲精品小说 </a>| <a href="http://488918.com" target="_blank">亚洲高清久久网</a>| <a href="http://www40255.com" target="_blank">久久婷婷亚洲</a>| <a href="http://z169.com" target="_blank">亚洲高清中文字幕</a>| <a href="http://tfccrk.com" target="_blank">亚洲美女在线一区</a>| <a href="http://wwwby113.com" target="_blank">欧美裸体一区二区三区</a>| <a href="http://497988.com" target="_blank">亚洲精品影视</a>| <a href="http://569688.com" target="_blank">亚洲欧美日韩一区二区</a>| <a href="http://244223.com" target="_blank">国产精品成人一区</a>| <a href="http://d77dd.com" target="_blank">亚洲欧美中文字幕</a>| <a href="http://6168138.com" target="_blank">久久人人97超碰国产公开结果</a>| <a href="http://y08877.com" target="_blank">在线成人亚洲</a>| <a href="http://shalitao.com" target="_blank">欧美高潮视频</a>| <a href="http://1235656.com" target="_blank">99日韩精品</a>| <a href="http://2061851.com" target="_blank">欧美淫片网站</a>| <a href="http://yunduaner.com" target="_blank">怡红院精品视频</a>| <a href="http://phdy999.com" target="_blank">欧美国产亚洲精品久久久8v</a>| <a href="http://91nbs.com" target="_blank">亚洲精品在线三区</a>| <a href="http://submro.com" target="_blank">亚洲欧美日韩国产综合</a>| <a href="http://www01614.com" target="_blank">国产一区二区三区黄</a>| <a href="http://yw9677.com" target="_blank">久久综合九色综合久99</a>| <a href="http://wogoyao.com" target="_blank">亚洲精品1区</a>| <a href="http://myasker.com" target="_blank">羞羞视频在线观看欧美</a>| <a href="http://www-42189.com" target="_blank">激情综合亚洲</a>| <a href="http://www962aa.com" target="_blank">欧美日韩一区二区三</a>| <a href="http://er65.com" target="_blank">午夜久久福利</a>| <a href="http://yjdm296.com" target="_blank">亚洲国产日韩欧美在线图片</a>| <a href="http://wzsl8.com" target="_blank">亚洲尤物在线视频观看</a>| <a href="http://wanzhixue.com" target="_blank">午夜宅男欧美</a>| <a href="http://66jj99.com" target="_blank">欧美一二三区在线观看</a>| <a href="http://227002.com" target="_blank">久久久久九九九</a>| <a href="http://360695.com" target="_blank">亚洲激情视频在线播放</a>| <a href="http://7504329.com" target="_blank">欧美日韩精品免费观看视一区二区 </a>| <a href="http://mm77gg.com" target="_blank">亚洲私人影院在线观看</a>| <a href="http://caobenfan1891.com" target="_blank">欧美在线视频免费</a>| <a href="http://www77vcd.com" target="_blank">亚洲人成网站精品片在线观看</a>| <a href="http://by2565.com" target="_blank">欧美视频一区二区三区</a>| <a href="http://1181318.com" target="_blank">久久精品亚洲一区二区</a>| <a href="http://hmm47.com" target="_blank">亚洲日本va午夜在线影院</a>| <a href="http://22400com.com" target="_blank">羞羞答答国产精品www一本</a>| <a href="http://jxyptsw.com" target="_blank">在线日韩中文</a>| <a href="http://youjizzbox.com" target="_blank">国产精品男女猛烈高潮激情 </a>| <a href="http://tefahsop.com" target="_blank">久久精彩免费视频</a>| <a href="http://kpd034.com" target="_blank">亚洲人成在线观看一区二区</a>| <a href="http://jav1111.com" target="_blank">久久精品中文字幕一区二区三区</a>| <a href="http://wnboke.com" target="_blank">最新日韩在线</a>| <a href="http://mide776.com" target="_blank">国产一区二区久久久</a>| <a href="http://798814.com" target="_blank">欧美久久成人</a>| <a href="http://785448.com" target="_blank">久久视频在线看</a>| <a href="http://5553303.com" target="_blank">亚洲欧美在线看</a>| <a href="http://www-442336.com" target="_blank">亚洲美女免费精品视频在线观看</a>| <a href="http://www-733999.com" target="_blank">久久福利影视</a>| <a href="http://maisuper.com" target="_blank">亚洲夜间福利</a>| <a href="http://fsxinruiph.com" target="_blank">亚洲欧洲一二三</a>| <a href="http://qkspvip.com" target="_blank">在线欧美小视频</a>| <a href="http://oudaole.com" target="_blank">国产网站欧美日韩免费精品在线观看 </a>| <a href="http://sepapapa8888.com" target="_blank">亚洲国产导航</a>| <a href="http://744734.com" target="_blank">欧美成人午夜激情</a>| <a href="http://sdgs6788.com" target="_blank">久久精品一区二区三区四区</a>| <a href="http://xhamster0.com" target="_blank">亚洲视频国产视频</a>| <a href="http://emu160.com" target="_blank">亚洲麻豆av</a>| <a href="http://tristooges.com" target="_blank">亚洲黄色三级</a>| <a href="http://maokk88.com" target="_blank">精品91免费</a>| <a href="http://605012.com" target="_blank">国产在线观看精品一区二区三区</a>| <a href="http://shyihegu.com" target="_blank">国产精品久久久久国产a级</a>| <a href="http://wwwcc7777.com" target="_blank">欧美激情视频一区二区三区不卡</a>| <a href="http://zgslwtc.com" target="_blank">久久久久在线观看</a>| <a href="http://hongzaixian.com" target="_blank">欧美一区高清</a>| <a href="http://llamkos.com" target="_blank">久久精品国亚洲</a>| <a href="http://66688811.com" target="_blank">久久精品成人</a>| <a href="http://pfpf662.com" target="_blank">久久av免费一区</a>| <a href="http://guanghezixun.com" target="_blank">午夜视频一区</a>| <a href="http://855821.com" target="_blank">欧美亚洲视频</a>| <a href="http://toomicsvip.com" target="_blank">久久精品动漫</a>| <a href="http://8x588.com" target="_blank">久久久久久久网站</a>| <a href="http://free18teen.com" target="_blank">久久av一区二区三区</a>| <a href="http://www-14333.com" target="_blank">久久99在线观看</a>| <a href="http://57sa.com" target="_blank">久久综合999</a>| <a href="http://babylonmovi.com" target="_blank">免费在线一区二区</a>| <a href="http://avtb2120.com" target="_blank">欧美激情第4页</a>| <a href="http://wwwavtb2049.com" target="_blank">欧美久久电影</a>| <a href="http://119552.com" target="_blank">国产精品久久久久三级</a>| <a href="http://tareandshare.com" target="_blank">欧美日韩在线一区二区三区</a>| <a href="http://xsjj10.com" target="_blank">欧美日韩在线三级</a>| <a href="http://bauyu121.com" target="_blank">国产精品久久久久久亚洲调教</a>| <a href="http://1069024.com" target="_blank">国产精品久久久久久影视</a>| <a href="http://xiaofan123.com" target="_blank">国产精品网站在线播放</a>| <a href="http://avhai.com" target="_blank">国产嫩草一区二区三区在线观看</a>| <a href="http://www35211.com" target="_blank">国产精品综合</a>| <a href="http://mmpzyw.com" target="_blank">雨宫琴音一区二区在线</a>| <a href="http://junhuatesu.com" target="_blank">亚洲欧洲精品一区二区三区波多野1战4 </a>| <a href="http://www49797.com" target="_blank">国产精品视频在线观看</a>| <a href="http://wawabt.com" target="_blank">亚洲电影有码</a>| <a href="http://4388x3.com" target="_blank">久久视频国产精品免费视频在线</a>| <a href="http://56701sy.com" target="_blank">久久精品欧洲</a>| <a href="http://jnhrjixie.com" target="_blank">欧美电影打屁股sp</a>| <a href="http://777177c.com" target="_blank">亚洲毛片网站</a>| <a href="http://77017w.com" target="_blank">欧美亚洲系列</a>| <a href="http://958997.com" target="_blank">免费观看成人www动漫视频</a>| <a href="http://5757ff.com" target="_blank">欧美激情一区二区三区在线</a>| <a href="http://4446666.com" target="_blank">欧美吻胸吃奶大尺度电影</a>| <a href="http://173168.com" target="_blank">国产区二精品视</a>| <a href="http://beeperagain.com" target="_blank">亚洲国产99</a>| <a href="http://3333347.com" target="_blank">亚洲免费在线视频</a>| <a href="http://hhsp13.com" target="_blank">久久久人人人</a>| <a href="http://mmmm43.com" target="_blank">亚洲人永久免费</a>| <a href="http://www-919198.com" target="_blank">午夜影视日本亚洲欧洲精品</a>| <a href="http://wzxjzx.com" target="_blank">美腿丝袜亚洲色图</a>| <a href="http://y65v.com" target="_blank">国产精品久久久久免费a∨大胸</a>| <a href="http://lymzdd.com" target="_blank">国产区日韩欧美</a>| <a href="http://wwwzmcc1.com" target="_blank">亚洲精品美女免费</a>| <a href="http://xiuxiu124.com" target="_blank">亚洲女ⅴideoshd黑人</a>| <a href="http://8xn66w.com" target="_blank">狂野欧美激情性xxxx欧美</a>| <a href="http://hakuihoso.com" target="_blank">亚洲欧洲精品一区二区三区不卡 </a>| <a href="http://yyyy456.com" target="_blank">久久深夜福利</a>| <a href="http://luobu520.com" target="_blank">国产精品magnet</a>| <a href="http://taoseav8.com" target="_blank">亚洲国产成人久久综合一区</a>| <a href="http://133255.com" target="_blank">亚洲一区二区三区乱码aⅴ蜜桃女</a>| <a href="http://54zcr.com" target="_blank">久久精品国产77777蜜臀</a>| <a href="http://788997.com" target="_blank">亚洲风情在线资源站</a>| <a href="http://hbdxzx.com" target="_blank">亚洲欧美日韩精品综合在线观看</a>| <a href="http://popowq.com" target="_blank">老司机一区二区</a>| <a href="http://99cheats.com" target="_blank">国产精品视频网站</a>| <a href="http://zisxks.com" target="_blank">日韩视频在线免费</a>| <a href="http://www72227.com" target="_blank">久久久天天操</a>| <a href="http://cnlbogs.com" target="_blank">亚洲免费在线视频</a>| <a href="http://www4848xx.com" target="_blank">欧美精品一区在线观看</a>| <a href="http://www-333410.com" target="_blank">国产在线视频不卡二</a>| <a href="http://4hup23.com" target="_blank">亚洲欧美激情视频</a>| <a href="http://92ye.com" target="_blank">亚洲高清视频一区</a>| <a href="http://59812mh.com" target="_blank">久久久www成人免费毛片麻豆</a>| <a href="http://www520590.com" target="_blank">欧美性大战久久久久</a>| <a href="http://360cabin.com" target="_blank">亚洲欧洲另类国产综合</a>| <a href="http://hhsj31.com" target="_blank">久久久91精品国产</a>| <a href="http://tcgo903.com" target="_blank">亚洲视频每日更新</a>| <a href="http://uuuu79.com" target="_blank">欧美午夜精品久久久久免费视</a>| <a href="http://sxxawef.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>