锘??xml version="1.0" encoding="utf-8" standalone="yes"?>一区二区在线观看av,一区二区三区视频在线观看,欧美日韩另类丝袜其他http://m.shnenglu.com/jianlinzhang/zh-cnMon, 29 Sep 2025 19:16:19 GMTMon, 29 Sep 2025 19:16:19 GMT60鍏充簬 boost 涓?VA 鐨勪竴浜涜瑙?/title><link>http://m.shnenglu.com/jianlinzhang/archive/2009/10/21/99091.html</link><dc:creator>寮犲緩鏋?/dc:creator><author>寮犲緩鏋?/author><pubDate>Wed, 21 Oct 2009 02:31:00 GMT</pubDate><guid>http://m.shnenglu.com/jianlinzhang/archive/2009/10/21/99091.html</guid><wfw:comment>http://m.shnenglu.com/jianlinzhang/comments/99091.html</wfw:comment><comments>http://m.shnenglu.com/jianlinzhang/archive/2009/10/21/99091.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/jianlinzhang/comments/commentRss/99091.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/jianlinzhang/services/trackbacks/99091.html</trackback:ping><description><![CDATA[        鏈榪戜竴孌墊椂闂村畨瑁呬簡boost錛屼絾鏄敱浜庝互鍓嶆棤榪欐柟闈㈢殑緇忛獙錛屽鑷翠簡鍦ㄥ畨瑁呭畬boost鍚庯紝榪愮敤鍒皏s2005鎴栬卾s2008鏃訛紝visual assist 浼氫笉鍋滅殑瑙f瀽boost錛屽鑷存垜鐨勮櫄鎷熷唴瀛樹細涓嶆柇澧炲姞錛屾渶鍚庢鏈烘垨鑰卾s宕╂簝錛屽紑濮嬭繕浠ヤ負鑷繁鍦ㄧ紪璇慴oost搴撴椂鍑虹幇浜嗛棶棰橈紝鍥犳緇х畫涓婄綉瀵繪壘鍏充簬榪欐柟闈㈢殑闂錛屾椂鑷充粖鏃ユ墠鍙戠幇緗戠粶涔熷茍闈炰竾鑳斤紝鎴栬呭彲鑳芥垜鐨勯棶棰樺ぇ瀹墮兘娌¢亣鍒拌繃錛屾諱箣錛岃闂鎴戜竴鐩存病鏈夎В鍐籌紝鍙ソ蹇嶇棝鍓茬埍錛屽皢va鐨勮緗腑涓嶆坊鍔燽oost涓欏廣傚敖綆″叧浜巄oost鐨勭▼搴忕紪璇戯紝榪愯閮芥病鏈夐棶棰橈紝浣嗗湪緙哄皯浜唙a鐨勫己鍔涙敮鎾戜笅錛岀紪鍐檅oost紼嬪簭鐨勭浉褰撶殑綣佺悙銆傘傘?br>        浠婂ぉ錛屾垜緇堜簬鍙戠幇浜嗗叾涓殑緙樼敱錛屽師鏉ユ槸鍥犱負鎴戠殑boost鐩綍涓寘鍚殑鏈変腑鏂囧瓧絎︿覆銆傘傘傚搸錛屾病鎯沖埌鍟娿傚湪閲嶆柊璁劇疆浜哹oost鐨勭洰褰曞悗錛屼竴鍒囧氨ok浜嗐傘傘?br>        甯屾湜榪欏浜庢湁浜涘悓琛屾潵璇存湁鐐圭敤澶勩傘傘侽(∩_∩)O鍝堝搱~ <img src ="http://m.shnenglu.com/jianlinzhang/aggbug/99091.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/jianlinzhang/" target="_blank">寮犲緩鏋?/a> 2009-10-21 10:31 <a href="http://m.shnenglu.com/jianlinzhang/archive/2009/10/21/99091.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍫嗗拰鏍堢殑鍖哄埆http://m.shnenglu.com/jianlinzhang/archive/2009/10/14/98545.html寮犲緩鏋?/dc:creator>寮犲緩鏋?/author>Wed, 14 Oct 2009 01:35:00 GMThttp://m.shnenglu.com/jianlinzhang/archive/2009/10/14/98545.htmlhttp://m.shnenglu.com/jianlinzhang/comments/98545.htmlhttp://m.shnenglu.com/jianlinzhang/archive/2009/10/14/98545.html#Feedback1http://m.shnenglu.com/jianlinzhang/comments/commentRss/98545.htmlhttp://m.shnenglu.com/jianlinzhang/services/trackbacks/98545.html 1 鍫嗗拰鏍堢殑鍖哄埆 (杞創)
鍫嗗拰鏍堢殑鍖哄埆 (杞創) 
闈炴湰浜轟綔涔?鍥犻潪甯哥粡鍏?鎵浠ユ敹褰掓棗涓?涓庝紬浜洪槄涔?鍘熶綔鑰呬笉紲?

鍫嗗拰鏍堢殑鍖哄埆
涓銆侀澶囩煡璇嗏旂▼搴忕殑鍐呭瓨鍒嗛厤
涓涓敱c/C++緙栬瘧鐨勭▼搴忓崰鐢ㄧ殑鍐呭瓨鍒嗕負浠ヤ笅鍑犱釜閮ㄥ垎
1銆佹爤鍖猴紙stack錛夆?nbsp;鐢辯紪璇戝櫒鑷姩鍒嗛厤閲婃斁 錛屽瓨鏀懼嚱鏁扮殑鍙傛暟鍊鹼紝灞閮ㄥ彉閲忕殑鍊肩瓑銆傚叾鎿嶄綔鏂瑰紡綾諱技浜庢暟鎹粨鏋勪腑鐨勬爤銆?
2銆佸爢鍖猴紙heap錛?nbsp;鈥?nbsp;涓鑸敱紼嬪簭鍛樺垎閰嶉噴鏀撅紝 鑻ョ▼搴忓憳涓嶉噴鏀撅紝紼嬪簭緇撴潫鏃跺彲鑳界敱OS鍥炴敹 銆傛敞鎰忓畠涓庢暟鎹粨鏋勪腑鐨勫爢鏄袱鍥炰簨錛屽垎閰嶆柟寮忓掓槸綾諱技浜庨摼琛紝鍛靛懙銆?
3銆佸叏灞鍖猴紙闈欐佸尯錛夛紙static錛夆旓紝鍏ㄥ眬鍙橀噺鍜岄潤鎬佸彉閲忕殑瀛樺偍鏄斁鍦ㄤ竴鍧楃殑錛屽垵濮嬪寲鐨勫叏灞鍙橀噺鍜岄潤鎬佸彉閲忓湪涓鍧楀尯鍩燂紝 鏈垵濮嬪寲鐨勫叏灞鍙橀噺鍜屾湭鍒濆鍖栫殑闈欐佸彉閲忓湪鐩擱偦鐨勫彟涓鍧楀尯鍩熴?nbsp;- 紼嬪簭緇撴潫鍚庢湁緋葷粺閲婃斁 
4銆佹枃瀛楀父閲忓尯鈥斿父閲忓瓧絎︿覆灝辨槸鏀懼湪榪欓噷鐨勩?nbsp;紼嬪簭緇撴潫鍚庣敱緋葷粺閲婃斁
5銆佺▼搴忎唬鐮佸尯鈥斿瓨鏀懼嚱鏁頒綋鐨勪簩榪涘埗浠g爜銆?
浜屻佷緥瀛愮▼搴?nbsp;
榪欐槸涓涓墠杈堝啓鐨勶紝闈炲父璇︾粏 
//main.cpp 
int a = 0; 鍏ㄥ眬鍒濆鍖栧尯 
char *p1; 鍏ㄥ眬鏈垵濮嬪寲鍖?nbsp;
main() 

int b; 鏍?nbsp;
char s[] = "abc"; 鏍?nbsp;
char *p2; 鏍?nbsp;
char *p3 = "123456"; 123456\0鍦ㄥ父閲忓尯錛宲3鍦ㄦ爤涓娿?nbsp;
static int c =0錛?nbsp;鍏ㄥ眬錛堥潤鎬侊級鍒濆鍖栧尯 
p1 = (char *)malloc(10); 
p2 = (char *)malloc(20); 
鍒嗛厤寰楁潵寰?0鍜?0瀛楄妭鐨勫尯鍩熷氨鍦ㄥ爢鍖恒?nbsp;
strcpy(p1, "123456"); 123456\0鏀懼湪甯擱噺鍖猴紝緙栬瘧鍣ㄥ彲鑳戒細灝嗗畠涓巔3鎵鎸囧悜鐨?123456"浼樺寲鎴愪竴涓湴鏂廣?nbsp;

 


浜屻佸爢鍜屾爤鐨勭悊璁虹煡璇?nbsp;
2.1鐢寵鏂瑰紡 
stack: 
鐢辯郴緇熻嚜鍔ㄥ垎閰嶃?nbsp;渚嬪錛屽0鏄庡湪鍑芥暟涓竴涓眬閮ㄥ彉閲?nbsp;int b; 緋葷粺鑷姩鍦ㄦ爤涓負b寮杈熺┖闂?nbsp;
heap: 
闇瑕佺▼搴忓憳鑷繁鐢寵錛屽茍鎸囨槑澶у皬錛屽湪c涓璵alloc鍑芥暟 
濡俻1 = (char *)malloc(10); 
鍦–++涓敤new榪愮畻絎?nbsp;
濡俻2 = (char *)malloc(10); 
浣嗘槸娉ㄦ剰p1銆乸2鏈韓鏄湪鏍堜腑鐨勩?nbsp;


2.2 
鐢寵鍚庣郴緇熺殑鍝嶅簲 
鏍堬細鍙鏍堢殑鍓╀綑絀洪棿澶т簬鎵鐢寵絀洪棿錛岀郴緇熷皢涓虹▼搴忔彁渚涘唴瀛橈紝鍚﹀垯灝嗘姤寮傚父鎻愮ず鏍堟孩鍑恒?nbsp;
鍫嗭細棣栧厛搴旇鐭ラ亾鎿嶄綔緋葷粺鏈変竴涓褰曠┖闂插唴瀛樺湴鍧鐨勯摼琛紝褰撶郴緇熸敹鍒扮▼搴忕殑鐢寵鏃訛紝 
浼氶亶鍘嗚閾捐〃錛屽鎵劇涓涓┖闂村ぇ浜庢墍鐢寵絀洪棿鐨勫爢緇撶偣錛岀劧鍚庡皢璇ョ粨鐐逛粠絀洪棽緇撶偣閾捐〃涓垹闄わ紝騫跺皢璇ョ粨鐐圭殑絀洪棿鍒嗛厤緇欑▼搴忥紝鍙﹀錛屽浜庡ぇ澶氭暟緋葷粺錛屼細鍦ㄨ繖鍧楀唴瀛樼┖闂翠腑鐨勯鍦板潃澶勮褰曟湰嬈″垎閰嶇殑澶у皬錛岃繖鏍鳳紝浠g爜涓殑delete璇彞鎵嶈兘姝g‘鐨勯噴鏀炬湰鍐呭瓨絀洪棿銆傚彟澶栵紝鐢變簬鎵懼埌鐨勫爢緇撶偣鐨勫ぇ灝忎笉涓瀹氭濂界瓑浜庣敵璇風殑澶у皬錛岀郴緇熶細鑷姩鐨勫皢澶氫綑鐨勯偅閮ㄥ垎閲嶆柊鏀懼叆絀洪棽閾捐〃涓?nbsp;

2.3鐢寵澶у皬鐨勯檺鍒?nbsp;
鏍堬細鍦╓indows涓?鏍堟槸鍚戜綆鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄竴鍧楄繛緇殑鍐呭瓨鐨勫尯鍩熴傝繖鍙ヨ瘽鐨勬剰鎬濇槸鏍堥《鐨勫湴鍧鍜屾爤鐨勬渶澶у閲忔槸緋葷粺棰勫厛瑙勫畾濂界殑錛屽湪WINDOWS涓嬶紝鏍堢殑澶у皬鏄?M錛堜篃鏈夌殑璇存槸1M錛屾諱箣鏄竴涓紪璇戞椂灝辯‘瀹氱殑甯告暟錛夛紝濡傛灉鐢寵鐨勭┖闂磋秴榪囨爤鐨勫墿浣欑┖闂存椂錛屽皢鎻愮ずoverflow銆傚洜姝わ紝鑳戒粠鏍堣幏寰楃殑絀洪棿杈冨皬銆?nbsp;
鍫嗭細鍫嗘槸鍚戦珮鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄笉榪炵畫鐨勫唴瀛樺尯鍩熴傝繖鏄敱浜庣郴緇熸槸鐢ㄩ摼琛ㄦ潵瀛樺偍鐨勭┖闂插唴瀛樺湴鍧鐨勶紝鑷劧鏄笉榪炵畫鐨勶紝鑰岄摼琛ㄧ殑閬嶅巻鏂瑰悜鏄敱浣庡湴鍧鍚戦珮鍦板潃銆傚爢鐨勫ぇ灝忓彈闄愪簬璁$畻鏈虹郴緇熶腑鏈夋晥鐨勮櫄鎷熷唴瀛樸傜敱姝ゅ彲瑙侊紝鍫嗚幏寰楃殑絀洪棿姣旇緝鐏墊椿錛屼篃姣旇緝澶с?nbsp;


2.4鐢寵鏁堢巼鐨勬瘮杈冿細 
鏍堢敱緋葷粺鑷姩鍒嗛厤錛岄熷害杈冨揩銆備絾紼嬪簭鍛樻槸鏃犳硶鎺у埗鐨勩?nbsp;
鍫嗘槸鐢眓ew鍒嗛厤鐨勫唴瀛橈紝涓鑸熷害姣旇緝鎱紝鑰屼笖瀹規槗浜х敓鍐呭瓨紕庣墖,涓嶈繃鐢ㄨ搗鏉ユ渶鏂逛究. 
鍙﹀錛屽湪WINDOWS涓嬶紝鏈濂界殑鏂瑰紡鏄敤VirtualAlloc鍒嗛厤鍐呭瓨錛屼粬涓嶆槸鍦ㄥ爢錛屼篃涓嶆槸鍦ㄦ爤鏄洿鎺ュ湪榪涚▼鐨勫湴鍧絀洪棿涓繚鐣欎竴蹇唴瀛橈紝铏界劧鐢ㄨ搗鏉ユ渶涓嶆柟渚褲備絾鏄熷害蹇紝涔熸渶鐏墊椿銆?nbsp;

2.5鍫嗗拰鏍堜腑鐨勫瓨鍌ㄥ唴瀹?nbsp;
鏍堬細 鍦ㄥ嚱鏁拌皟鐢ㄦ椂錛岀涓涓繘鏍堢殑鏄富鍑芥暟涓悗鐨勪笅涓鏉℃寚浠わ紙鍑芥暟璋冪敤璇彞鐨勪笅涓鏉″彲鎵ц璇彞錛夌殑鍦板潃錛岀劧鍚庢槸鍑芥暟鐨勫悇涓弬鏁幫紝鍦ㄥぇ澶氭暟鐨凜緙栬瘧鍣ㄤ腑錛屽弬鏁版槸鐢卞彸寰宸﹀叆鏍堢殑錛岀劧鍚庢槸鍑芥暟涓殑灞閮ㄥ彉閲忋傛敞鎰忛潤鎬佸彉閲忔槸涓嶅叆鏍堢殑銆?nbsp;
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

2 鍫嗗拰鏍堢殑鍖哄埆 (杞創)
褰撴湰嬈″嚱鏁拌皟鐢ㄧ粨鏉熷悗錛屽眬閮ㄥ彉閲忓厛鍑烘爤錛岀劧鍚庢槸鍙傛暟錛屾渶鍚庢爤欏舵寚閽堟寚鍚戞渶寮濮嬪瓨鐨勫湴鍧錛屼篃灝辨槸涓誨嚱鏁頒腑鐨勪笅涓鏉℃寚浠わ紝紼嬪簭鐢辮鐐圭戶緇繍琛屻?nbsp;
鍫嗭細涓鑸槸鍦ㄥ爢鐨勫ご閮ㄧ敤涓涓瓧鑺傚瓨鏀懼爢鐨勫ぇ灝忋傚爢涓殑鍏蜂綋鍐呭鏈夌▼搴忓憳瀹夋帓銆?nbsp;

2.6瀛樺彇鏁堢巼鐨勬瘮杈?nbsp;

char s1[] = "aaaaaaaaaaaaaaa"; 
char *s2 = "bbbbbbbbbbbbbbbbb"; 
aaaaaaaaaaa鏄湪榪愯鏃跺埢璧嬪肩殑錛?nbsp;
鑰宐bbbbbbbbbb鏄湪緙栬瘧鏃跺氨紜畾鐨勶紱 
浣嗘槸錛屽湪浠ュ悗鐨勫瓨鍙栦腑錛屽湪鏍堜笂鐨勬暟緇勬瘮鎸囬拡鎵鎸囧悜鐨勫瓧絎︿覆(渚嬪鍫?蹇?nbsp;
姣斿錛?nbsp;
#include 
void main() 

char a = 1; 
char c[] = "1234567890"; 
char *p ="1234567890"; 
a = c[1]; 
a = p[1]; 
return; 

瀵瑰簲鐨勬眹緙栦唬鐮?nbsp;
10: a = c[1]; 
00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh] 
0040106A 88 4D FC mov byte ptr [ebp-4],cl 
11: a = p[1]; 
0040106D 8B 55 EC mov edx,dword ptr [ebp-14h] 
00401070 8A 42 01 mov al,byte ptr [edx+1] 
00401073 88 45 FC mov byte ptr [ebp-4],al 
絎竴縐嶅湪璇誨彇鏃剁洿鎺ュ氨鎶婂瓧絎︿覆涓殑鍏冪礌璇誨埌瀵勫瓨鍣╟l涓紝鑰岀浜岀鍒欒鍏堟妸鎸囬拡鍊艱鍒癳dx涓紝鍦ㄦ牴鎹甧dx璇誨彇瀛楃錛屾樉鐒舵參浜嗐?nbsp;


2.7灝忕粨錛?nbsp;
鍫嗗拰鏍堢殑鍖哄埆鍙互鐢ㄥ涓嬬殑姣斿柣鏉ョ湅鍑猴細 
浣跨敤鏍堝氨璞℃垜浠幓楗閲屽悆楗紝鍙鐐硅彍錛堝彂鍑虹敵璇鳳級銆佷粯閽便佸拰鍚冿紙浣跨敤錛夛紝鍚冮ケ浜嗗氨璧幫紝涓嶅繀鐞嗕細鍒囪彍銆佹礂鑿滅瓑鍑嗗宸ヤ綔鍜屾礂紕椼佸埛閿呯瓑鎵熬宸ヤ綔錛屼粬鐨勫ソ澶勬槸蹇嵎錛屼絾鏄嚜鐢卞害灝忋?nbsp;
浣跨敤鍫嗗氨璞℃槸鑷繁鍔ㄦ墜鍋氬枩嬈㈠悆鐨勮彍鑲達紝姣旇緝楹葷儲錛屼絾鏄瘮杈冪鍚堣嚜宸辯殑鍙e懗錛岃屼笖鑷敱搴﹀ぇ銆?nbsp;





windows榪涚▼涓殑鍐呭瓨緇撴瀯


鍦ㄩ槄璇繪湰鏂囦箣鍓嶏紝濡傛灉浣犺繛鍫嗘爤鏄粈涔堝涓嶇煡閬撶殑璇濓紝璇峰厛闃呰鏂囩珷鍚庨潰鐨勫熀紜鐭ヨ瘑銆?nbsp;

鎺ヨЕ榪囩紪紼嬬殑浜洪兘鐭ラ亾錛岄珮綰ц璦閮借兘閫氳繃鍙橀噺鍚嶆潵璁塊棶鍐呭瓨涓殑鏁版嵁銆傞偅涔堣繖浜涘彉閲忓湪鍐呭瓨涓槸濡備綍瀛樻斁鐨勫憿錛熺▼搴忓張鏄浣曚嬌鐢ㄨ繖浜涘彉閲忕殑鍛紵涓嬮潰灝變細瀵規榪涜娣卞叆鐨勮璁恒備笅鏂囦腑鐨凜璇█浠g爜濡傛病鏈夌壒鍒0鏄庯紝榛樿閮戒嬌鐢╒C緙栬瘧鐨剅elease鐗堛?nbsp;

棣栧厛錛屾潵浜嗚В涓涓?nbsp;C 璇█鐨勫彉閲忔槸濡備綍鍦ㄥ唴瀛樺垎閮ㄧ殑銆侰 璇█鏈夊叏灞鍙橀噺(Global)銆佹湰鍦板彉閲?Local)錛岄潤鎬佸彉閲?Static)銆佸瘎瀛樺櫒鍙橀噺(Regeister)銆傛瘡縐嶅彉閲忛兘鏈変笉鍚岀殑鍒嗛厤鏂瑰紡銆傚厛鏉ョ湅涓嬮潰榪欐浠g爜錛?nbsp;

#include <stdio.h> 

int g1=0, g2=0, g3=0; 

int main() 

static int s1=0, s2=0, s3=0; 
int v1=0, v2=0, v3=0; 

//鎵撳嵃鍑哄悇涓彉閲忕殑鍐呭瓨鍦板潃 

printf("0x%08x\n",&v1); //鎵撳嵃鍚勬湰鍦板彉閲忕殑鍐呭瓨鍦板潃 
printf("0x%08x\n",&v2); 
printf("0x%08x\n\n",&v3); 
printf("0x%08x\n",&g1); //鎵撳嵃鍚勫叏灞鍙橀噺鐨勫唴瀛樺湴鍧 
printf("0x%08x\n",&g2); 
printf("0x%08x\n\n",&g3); 
printf("0x%08x\n",&s1); //鎵撳嵃鍚勯潤鎬佸彉閲忕殑鍐呭瓨鍦板潃 
printf("0x%08x\n",&s2); 
printf("0x%08x\n\n",&s3); 
return 0; 


緙栬瘧鍚庣殑鎵ц緇撴灉鏄細 

0x0012ff78 
0x0012ff7c 
0x0012ff80 

0x004068d0 
0x004068d4 
0x004068d8 

0x004068dc 
0x004068e0 
0x004068e4 

杈撳嚭鐨勭粨鏋滃氨鏄彉閲忕殑鍐呭瓨鍦板潃銆傚叾涓璿1,v2,v3鏄湰鍦板彉閲忥紝g1,g2,g3鏄叏灞鍙橀噺錛宻1,s2,s3鏄潤鎬佸彉閲忋備綘鍙互鐪嬪埌榪欎簺鍙橀噺鍦ㄥ唴瀛樻槸榪炵畫鍒嗗竷鐨勶紝浣嗘槸鏈湴鍙橀噺鍜屽叏灞鍙橀噺鍒嗛厤鐨勫唴瀛樺湴鍧宸簡鍗佷竾鍏崈閲岋紝鑰屽叏灞鍙橀噺鍜岄潤鎬佸彉閲忓垎閰嶇殑鍐呭瓨鏄繛緇殑銆傝繖鏄洜涓烘湰鍦板彉閲忓拰鍏ㄥ眬/闈欐佸彉閲忔槸鍒嗛厤鍦ㄤ笉鍚岀被鍨嬬殑鍐呭瓨鍖哄煙涓殑緇撴灉銆傚浜庝竴涓繘紼嬬殑鍐呭瓨絀洪棿鑰岃█錛屽彲浠ュ湪閫昏緫涓婂垎鎴?涓儴浠斤細浠g爜鍖猴紝闈欐佹暟鎹尯鍜屽姩鎬佹暟鎹尯銆傚姩鎬佹暟鎹尯涓鑸氨鏄?#8220;鍫嗘爤”銆?#8220;鏍?stack)”鍜?#8220;鍫?heap)”鏄袱縐嶄笉鍚岀殑鍔ㄦ佹暟鎹尯錛屾爤鏄竴縐嶇嚎鎬х粨鏋勶紝鍫嗘槸涓縐嶉摼寮忕粨鏋勩傝繘紼嬬殑姣忎釜綰跨▼閮芥湁縐佹湁鐨?#8220;鏍?#8221;錛屾墍浠ユ瘡涓嚎紼嬭櫧鐒朵唬鐮佷竴鏍鳳紝浣嗘湰鍦板彉閲忕殑鏁版嵁閮芥槸浜掍笉騫叉壈銆備竴涓爢鏍堝彲浠ラ氳繃“鍩哄湴鍧”鍜?#8220;鏍堥《”鍦板潃鏉ユ弿榪般傚叏灞鍙橀噺鍜岄潤鎬佸彉閲忓垎閰嶅湪闈欐佹暟鎹尯錛屾湰鍦板彉閲忓垎閰嶅湪鍔ㄦ佹暟鎹尯錛屽嵆鍫嗘爤涓傜▼搴忛氳繃鍫嗘爤鐨勫熀鍦板潃鍜屽亸縐婚噺鏉ヨ闂湰鍦板彉閲忋?nbsp;
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

3 鍫嗗拰鏍堢殑鍖哄埆 (杞創)


鈹溾斺斺斺斺斺斺斺敜浣庣鍐呭瓨鍖哄煙 
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;鍔ㄦ佹暟鎹尯 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;浠g爜鍖?nbsp;鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;闈欐佹暟鎹尯 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜楂樼鍐呭瓨鍖哄煙 


鍫嗘爤鏄竴涓厛榪涘悗鍑虹殑鏁版嵁緇撴瀯錛屾爤欏跺湴鍧鎬繪槸灝忎簬絳変簬鏍堢殑鍩哄湴鍧銆傛垜浠彲浠ュ厛浜嗚В涓涓嬪嚱鏁拌皟鐢ㄧ殑榪囩▼錛屼互渚垮鍫嗘爤鍦ㄧ▼搴忎腑鐨勪綔鐢ㄦ湁鏇存繁鍏ョ殑浜嗚В銆備笉鍚岀殑璇█鏈変笉鍚岀殑鍑芥暟璋冪敤瑙勫畾錛岃繖浜涘洜绱犳湁鍙傛暟鐨勫帇鍏ヨ鍒欏拰鍫嗘爤鐨勫鉤琛°倃indows API鐨勮皟鐢ㄨ鍒欏拰ANSI C鐨勫嚱鏁拌皟鐢ㄨ鍒欐槸涓嶄竴鏍風殑錛屽墠鑰呯敱琚皟鍑芥暟璋冩暣鍫嗘爤錛屽悗鑰呯敱璋冪敤鑰呰皟鏁村爢鏍堛備袱鑰呴氳繃“__stdcall”鍜?#8220;__cdecl”鍓嶇紑鍖哄垎銆傚厛鐪嬩笅闈㈣繖孌典唬鐮侊細 

#include <stdio.h> 

void __stdcall func(int param1,int param2,int param3) 

int var1=param1; 
int var2=param2; 
int var3=param3; 
printf("0x%08x\n",¶m1); //鎵撳嵃鍑哄悇涓彉閲忕殑鍐呭瓨鍦板潃 
printf("0x%08x\n",¶m2); 
printf("0x%08x\n\n",¶m3); 
printf("0x%08x\n",&var1); 
printf("0x%08x\n",&var2); 
printf("0x%08x\n\n",&var3); 
return; 


int main() 

func(1,2,3); 
return 0; 


緙栬瘧鍚庣殑鎵ц緇撴灉鏄細 

0x0012ff78 
0x0012ff7c 
0x0012ff80 

0x0012ff68 
0x0012ff6c 
0x0012ff70 


鈹溾斺斺斺斺斺斺斺敜<鈥斿嚱鏁版墽琛屾椂鐨勬爤欏訛紙ESP錛夈佷綆绔唴瀛樺尯鍩?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;var 1 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;var 2 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;var 3 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;RET 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥?#8220;__cdecl”鍑芥暟榪斿洖鍚庣殑鏍堥《錛圗SP錛?nbsp;
鈹?nbsp;parameter 1 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;parameter 2 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;parameter 3 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥?#8220;__stdcall”鍑芥暟榪斿洖鍚庣殑鏍堥《錛圗SP錛?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旀爤搴曪紙鍩哄湴鍧 EBP錛夈侀珮绔唴瀛樺尯鍩?nbsp;


涓婂浘灝辨槸鍑芥暟璋冪敤榪囩▼涓爢鏍堢殑鏍峰瓙浜嗐傞鍏堬紝涓変釜鍙傛暟浠ヤ粠鍙堝埌宸︾殑嬈″簭鍘嬪叆鍫嗘爤錛屽厛鍘?#8220;param3”錛屽啀鍘?#8220;param2”錛屾渶鍚庡帇鍏?#8220;param1”錛涚劧鍚庡帇鍏ュ嚱鏁扮殑榪斿洖鍦板潃(RET)錛屾帴鐫璺寵漿鍒板嚱鏁板湴鍧鎺ョ潃鎵ц錛堣繖閲岃琛ュ厖涓鐐癸紝浠嬬粛UNIX涓嬬殑緙撳啿婧㈠嚭鍘熺悊鐨勬枃绔犱腑閮芥彁鍒板湪鍘嬪叆RET鍚庯紝緇х畫鍘嬪叆褰撳墠EBP錛岀劧鍚庣敤褰撳墠ESP浠f浛EBP銆傜劧鑰岋紝鏈変竴綃囦粙緇峸indows涓嬪嚱鏁拌皟鐢ㄧ殑鏂囩珷涓錛屽湪windows涓嬬殑鍑芥暟璋冪敤涔熸湁榪欎竴姝ラ錛屼絾鏍規嵁鎴戠殑瀹為檯璋冭瘯錛屽茍鏈彂鐜拌繖涓姝ワ紝榪欒繕鍙互浠巔aram3鍜寁ar1涔嬮棿鍙湁4瀛楄妭鐨勯棿闅欒繖鐐圭湅鍑烘潵錛夛紱絎笁姝ワ紝灝嗘爤欏?ESP)鍑忓幓涓涓暟錛屼負鏈湴鍙橀噺鍒嗛厤鍐呭瓨絀洪棿錛屼笂渚嬩腑鏄噺鍘?2瀛楄妭(ESP=ESP-3*4錛屾瘡涓猧nt鍙橀噺鍗犵敤4涓瓧鑺?錛涙帴鐫灝卞垵濮嬪寲鏈湴鍙橀噺鐨勫唴瀛樼┖闂淬傜敱浜?#8220;__stdcall”璋冪敤鐢辮璋冨嚱鏁拌皟鏁村爢鏍堬紝鎵浠ュ湪鍑芥暟榪斿洖鍓嶈鎭㈠鍫嗘爤錛屽厛鍥炴敹鏈湴鍙橀噺鍗犵敤鐨勫唴瀛?ESP=ESP+3*4)錛岀劧鍚庡彇鍑鴻繑鍥炲湴鍧錛屽~鍏IP瀵勫瓨鍣紝鍥炴敹鍏堝墠鍘嬪叆鍙傛暟鍗犵敤鐨勫唴瀛?ESP=ESP+3*4)錛岀戶緇墽琛岃皟鐢ㄨ呯殑浠g爜銆傚弬瑙佷笅鍒楁眹緙栦唬鐮侊細 

;--------------func 鍑芥暟鐨勬眹緙栦唬鐮?------------------ 

:00401000 83EC0C sub esp, 0000000C //鍒涘緩鏈湴鍙橀噺鐨勫唴瀛樼┖闂?nbsp;
:00401003 8B442410 mov eax, dword ptr [esp+10] 
:00401007 8B4C2414 mov ecx, dword ptr [esp+14] 
:0040100B 8B542418 mov edx, dword ptr [esp+18] 
:0040100F 89442400 mov dword ptr [esp], eax 
:00401013 8D442410 lea eax, dword ptr [esp+10] 
:00401017 894C2404 mov dword ptr [esp+04], ecx 

……………………錛堢渷鐣ヨ嫢騫蹭唬鐮侊級 

:00401075 83C43C add esp, 0000003C ;鎭㈠鍫嗘爤錛屽洖鏀舵湰鍦板彉閲忕殑鍐呭瓨絀洪棿 
:00401078 C3 ret 000C ;鍑芥暟榪斿洖錛屾仮澶嶅弬鏁板崰鐢ㄧ殑鍐呭瓨絀洪棿 
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

4 鍫嗗拰鏍堢殑鍖哄埆 (杞創)
;濡傛灉鏄?#8220;__cdecl”鐨勮瘽錛岃繖閲屾槸“ret”錛屽爢鏍堝皢鐢辮皟鐢ㄨ呮仮澶?nbsp;

;-------------------鍑芥暟緇撴潫------------------------- 


;--------------涓葷▼搴忚皟鐢╢unc鍑芥暟鐨勪唬鐮?------------- 

:00401080 6A03 push 00000003 //鍘嬪叆鍙傛暟param3 
:00401082 6A02 push 00000002 //鍘嬪叆鍙傛暟param2 
:00401084 6A01 push 00000001 //鍘嬪叆鍙傛暟param1 
:00401086 E875FFFFFF call 00401000 //璋冪敤func鍑芥暟 
;濡傛灉鏄?#8220;__cdecl”鐨勮瘽錛屽皢鍦ㄨ繖閲屾仮澶嶅爢鏍堬紝“add esp, 0000000C” 

鑱槑鐨勮鑰呯湅鍒拌繖閲岋紝宸笉澶氬氨鏄庣櫧緙撳啿婧㈠嚭鐨勫師鐞嗕簡銆傚厛鏉ョ湅涓嬮潰鐨勪唬鐮侊細 

#include <stdio.h> 
#include <string.h> 

void __stdcall func() 

char lpBuff[8]="\0"; 
strcat(lpBuff,"AAAAAAAAAAA"); 
return; 


int main() 

func(); 
return 0; 


緙栬瘧鍚庢墽琛屼竴涓嬪洖鎬庝箞鏍鳳紵鍝堬紝“"0x00414141"鎸囦護寮曠敤鐨?0x00000000"鍐呭瓨銆傝鍐呭瓨涓嶈兘涓?read"銆?#8221;錛?#8220;闈炴硶鎿嶄綔”鍠斤紒"41"灝辨槸"A"鐨?6榪涘埗鐨凙SCII鐮佷簡錛岄偅鏄庢樉灝辨槸strcat榪欏彞鍑虹殑闂浜嗐?lpBuff"鐨勫ぇ灝忓彧鏈?瀛楄妭錛岀畻榪涚粨灝劇殑\0錛岄偅strcat鏈澶氬彧鑳藉啓鍏?涓?A"錛屼絾紼嬪簭瀹為檯鍐欏叆浜?1涓?A"澶栧姞1涓猏0銆傚啀鏉ョ湅鐪嬩笂闈㈤偅騫呭浘錛屽鍑烘潵鐨?涓瓧鑺傛濂借鐩栦簡RET鐨勬墍鍦ㄧ殑鍐呭瓨絀洪棿錛屽鑷村嚱鏁拌繑鍥炲埌涓涓敊璇殑鍐呭瓨鍦板潃錛屾墽琛屼簡閿欒鐨勬寚浠ゃ傚鏋滆兘綺懼績鏋勯犺繖涓瓧絎︿覆錛屼嬌瀹冨垎鎴愪笁閮ㄥ垎錛屽墠涓閮ㄤ喚浠呬粎鏄~鍏呯殑鏃犳剰涔夋暟鎹互杈懼埌婧㈠嚭鐨勭洰鐨勶紝鎺ョ潃鏄竴涓鐩朢ET鐨勬暟鎹紝绱ф帴鐫鏄竴孌祍hellcode錛岄偅鍙鐫涓猂ET鍦板潃鑳芥寚鍚戣繖孌祍hellcode鐨勭涓涓寚浠わ紝閭e嚱鏁拌繑鍥炴椂灝辮兘鎵цshellcode浜嗐備絾鏄蔣浠剁殑涓嶅悓鐗堟湰鍜屼笉鍚岀殑榪愯鐜閮藉彲鑳藉獎鍝嶈繖孌祍hellcode鍦ㄥ唴瀛樹腑鐨勪綅緗紝閭d箞瑕佹瀯閫犺繖涓猂ET鏄崄鍒嗗洶闅劇殑銆備竴鑸兘鍦≧ET鍜宻hellcode涔嬮棿濉厖澶ч噺鐨凬OP鎸囦護錛屼嬌寰梕xploit鏈夋洿寮虹殑閫氱敤鎬с?nbsp;


鈹溾斺斺斺斺斺斺斺敜<鈥斾綆绔唴瀛樺尯鍩?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旂敱exploit濉叆鏁版嵁鐨勫紑濮?nbsp;
鈹?nbsp;鈹?nbsp;
鈹?nbsp;buffer 鈹?lt;鈥斿~鍏ユ棤鐢ㄧ殑鏁版嵁 
鈹?nbsp;鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;RET 鈹?lt;鈥旀寚鍚憇hellcode錛屾垨NOP鎸囦護鐨勮寖鍥?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;NOP 鈹?nbsp;
鈹?nbsp;…… 鈹?lt;鈥斿~鍏ョ殑NOP鎸囦護錛屾槸RET鍙寚鍚戠殑鑼冨洿 
鈹?nbsp;NOP 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜 
鈹?nbsp;鈹?nbsp;
鈹?nbsp;shellcode 鈹?nbsp;
鈹?nbsp;鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旂敱exploit濉叆鏁版嵁鐨勭粨鏉?nbsp;
鈹?nbsp;…… 鈹?nbsp;
鈹溾斺斺斺斺斺斺斺敜<鈥旈珮绔唴瀛樺尯鍩?nbsp;


windows涓嬬殑鍔ㄦ佹暟鎹櫎浜嗗彲瀛樻斁鍦ㄦ爤涓紝榪樺彲浠ュ瓨鏀懼湪鍫嗕腑銆備簡瑙++鐨勬湅鍙嬮兘鐭ラ亾錛孋++鍙互浣跨敤new鍏抽敭瀛楁潵鍔ㄦ佸垎閰嶅唴瀛樸傛潵鐪嬩笅闈㈢殑C++浠g爜錛?nbsp;

#include <stdio.h> 
#include <iostream.h> 
#include <windows.h> 

void func() 

char *buffer=new char[128]; 
char bufflocal[128]; 
static char buffstatic[128]; 
printf("0x%08x\n",buffer); //鎵撳嵃鍫嗕腑鍙橀噺鐨勫唴瀛樺湴鍧 
printf("0x%08x\n",bufflocal); //鎵撳嵃鏈湴鍙橀噺鐨勫唴瀛樺湴鍧 
printf("0x%08x\n",buffstatic); //鎵撳嵃闈欐佸彉閲忕殑鍐呭瓨鍦板潃 


void main() 

func(); 
return; 


紼嬪簭鎵ц緇撴灉涓猴細 

0x004107d0 
0x0012ff04 
0x004068c0 

鍙互鍙戠幇鐢╪ew鍏抽敭瀛楀垎閰嶇殑鍐呭瓨鍗充笉鍦ㄦ爤涓紝涔熶笉鍦ㄩ潤鎬佹暟鎹尯銆俈C緙栬瘧鍣ㄦ槸閫氳繃windows涓嬬殑“鍫?heap)”鏉ュ疄鐜皀ew鍏抽敭瀛楃殑鍐呭瓨鍔ㄦ佸垎閰嶃傚湪璁?#8220;鍫?#8221;涔嬪墠錛屽厛鏉ヤ簡瑙d竴涓嬪拰“鍫?#8221;鏈夊叧鐨勫嚑涓狝PI鍑芥暟錛?nbsp;

HeapAlloc 鍦ㄥ爢涓敵璇峰唴瀛樼┖闂?nbsp;
HeapCreate 鍒涘緩涓涓柊鐨勫爢瀵硅薄 
HeapDestroy 閿姣佷竴涓爢瀵硅薄 
HeapFree 閲婃斁鐢寵鐨勫唴瀛?nbsp;
HeapWalk 鏋氫婦鍫嗗璞$殑鎵鏈夊唴瀛樺潡 
GetProcessHeap 鍙栧緱榪涚▼鐨勯粯璁ゅ爢瀵硅薄 
GetProcessHeaps 鍙栧緱榪涚▼鎵鏈夌殑鍫嗗璞?nbsp;
LocalAlloc 
GlobalAlloc 

褰撹繘紼嬪垵濮嬪寲鏃訛紝緋葷粺浼氳嚜鍔ㄤ負榪涚▼鍒涘緩涓涓粯璁ゅ爢錛岃繖涓爢榛樿鎵鍗犲唴瀛樼殑澶у皬涓?M銆傚爢瀵硅薄鐢辯郴緇熻繘琛岀鐞嗭紝瀹冨湪鍐呭瓨涓互閾懼紡緇撴瀯瀛樺湪銆傞氳繃涓嬮潰鐨勪唬鐮佸彲浠ラ氳繃鍫嗗姩鎬佺敵璇峰唴瀛樼┖闂達細 
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

5 鍫嗗拰鏍堢殑鍖哄埆 (杞創)

HANDLE hHeap=GetProcessHeap(); 
char *buff=HeapAlloc(hHeap,0,8); 

鍏朵腑hHeap鏄爢瀵硅薄鐨勫彞鏌勶紝buff鏄寚鍚戠敵璇風殑鍐呭瓨絀洪棿鐨勫湴鍧銆傞偅榪欎釜hHeap絀剁珶鏄粈涔堝憿錛熷畠鐨勫兼湁浠涔堟剰涔夊悧錛熺湅鐪嬩笅闈㈣繖孌典唬鐮佸惂錛?nbsp;

#pragma comment(linker,"/entry:main") //瀹氫箟紼嬪簭鐨勫叆鍙?nbsp;
#include <windows.h> 

_CRTIMP int (__cdecl *printf)(const char *, ...); //瀹氫箟STL鍑芥暟printf 
/*--------------------------------------------------------------------------- 
鍐欏埌榪欓噷錛屾垜浠『渚挎潵澶嶄範涓涓嬪墠闈㈡墍璁茬殑鐭ヨ瘑錛?nbsp;
(*娉?printf鍑芥暟鏄疌璇█鐨勬爣鍑嗗嚱鏁板簱涓嚱鏁幫紝VC鐨勬爣鍑嗗嚱鏁板簱鐢眒svcrt.dll妯″潡瀹炵幇銆?nbsp;
鐢卞嚱鏁板畾涔夊彲瑙侊紝printf鐨勫弬鏁頒釜鏁版槸鍙彉鐨勶紝鍑芥暟鍐呴儴鏃犳硶棰勫厛鐭ラ亾璋冪敤鑰呭帇鍏ョ殑鍙傛暟涓暟錛屽嚱鏁板彧鑳介氳繃鍒嗘瀽絎竴涓弬鏁板瓧絎︿覆鐨勬牸寮忔潵鑾峰緱鍘嬪叆鍙傛暟鐨勪俊鎭紝鐢變簬榪欓噷鍙傛暟鐨勪釜鏁版槸鍔ㄦ佺殑錛屾墍浠ュ繀欏葷敱璋冪敤鑰呮潵騫寵 鍫嗘爤錛岃繖閲屼究浣跨敤浜哶_cdecl璋冪敤瑙勫垯銆侭TW錛學indows緋葷粺鐨凙PI鍑芥暟鍩烘湰涓婃槸__stdcall璋冪敤褰㈠紡錛屽彧鏈変竴涓狝PI渚嬪錛岄偅灝辨槸wsprintf錛屽畠浣跨敤__cdecl璋冪敤瑙勫垯錛屽悓printf鍑芥暟涓鏍鳳紝榪欐槸鐢變簬瀹冪殑鍙傛暟涓暟鏄彲鍙樼殑緙樻晠銆?nbsp;
---------------------------------------------------------------------------*/ 
void main() 

HANDLE hHeap=GetProcessHeap(); 
char *buff=HeapAlloc(hHeap,0,0x10); 
char *buff2=HeapAlloc(hHeap,0,0x10); 
HMODULE hMsvcrt=LoadLibrary("msvcrt.dll"); 
printf=(void *)GetProcAddress(hMsvcrt,"printf"); 
printf("0x%08x\n",hHeap); 
printf("0x%08x\n",buff); 
printf("0x%08x\n\n",buff2); 


鎵ц緇撴灉涓猴細 

0x00130000 
0x00133100 
0x00133118 

hHeap鐨勫兼庝箞鍜岄偅涓猙uff鐨勫奸偅涔堟帴榪戝憿錛熷叾瀹瀐Heap榪欎釜鍙ユ焺灝辨槸鎸囧悜HEAP棣栭儴鐨勫湴鍧銆傚湪榪涚▼鐨勭敤鎴峰尯瀛樼潃涓涓彨PEB(榪涚▼鐜鍧?鐨勭粨鏋勶紝榪欎釜緇撴瀯涓瓨鏀劇潃涓浜涙湁鍏寵繘紼嬬殑閲嶈淇℃伅錛屽叾涓湪PEB棣栧湴鍧鍋忕Щ0x18澶勫瓨鏀劇殑ProcessHeap灝辨槸榪涚▼榛樿鍫嗙殑鍦板潃錛岃屽亸縐?x90澶勫瓨鏀句簡鎸囧悜榪涚▼鎵鏈夊爢鐨勫湴鍧鍒楄〃鐨勬寚閽堛倃indows鏈夊緢澶欰PI閮戒嬌鐢ㄨ繘紼嬬殑榛樿鍫嗘潵瀛樻斁鍔ㄦ佹暟鎹紝濡倃indows 2000涓嬬殑鎵鏈堿NSI鐗堟湰鐨勫嚱鏁伴兘鏄湪榛樿鍫嗕腑鐢寵鍐呭瓨鏉ヨ漿鎹NSI瀛楃涓插埌Unicode瀛楃涓茬殑銆傚涓涓爢鐨勮闂槸欏哄簭榪涜鐨勶紝鍚屼竴鏃跺埢鍙兘鏈変竴涓嚎紼嬭闂爢涓殑鏁版嵁錛屽綋澶氫釜綰跨▼鍚屾椂鏈夎闂姹傛椂錛屽彧鑳芥帓闃熺瓑寰咃紝榪欐牱渚塊犳垚紼嬪簭鎵ц鏁堢巼涓嬮檷銆?nbsp;

鏈鍚庢潵璇磋鍐呭瓨涓殑鏁版嵁瀵歸綈銆傛墍浣嶆暟鎹榻愶紝鏄寚鏁版嵁鎵鍦ㄧ殑鍐呭瓨鍦板潃蹇呴』鏄鏁版嵁闀垮害鐨勬暣鏁板嶏紝DWORD鏁版嵁鐨勫唴瀛樿搗濮嬪湴鍧鑳借4闄ゅ敖錛學ORD鏁版嵁鐨勫唴瀛樿搗濮嬪湴鍧鑳借2闄ゅ敖錛寈86 CPU鑳界洿鎺ヨ闂榻愮殑鏁版嵁錛屽綋浠栬瘯鍥捐闂竴涓湭瀵歸綈鐨勬暟鎹椂錛屼細鍦ㄥ唴閮ㄨ繘琛屼竴緋誨垪鐨勮皟鏁達紝榪欎簺璋冩暣瀵逛簬紼嬪簭鏉ヨ鏄忔槑鐨勶紝浣嗘槸浼氶檷浣庤繍琛岄熷害錛屾墍浠ョ紪璇戝櫒鍦ㄧ紪璇戠▼搴忔椂浼氬敖閲忎繚璇佹暟鎹榻愩傚悓鏍蜂竴孌典唬鐮侊紝鎴戜滑鏉ョ湅鐪嬬敤VC銆丏ev-C++鍜宭cc涓変釜涓嶅悓緙栬瘧鍣ㄧ紪璇戝嚭鏉ョ殑紼嬪簭鐨勬墽琛岀粨鏋滐細 

#include <stdio.h> 

int main() 

int a; 
char b; 
int c; 
printf("0x%08x\n",&a); 
printf("0x%08x\n",&b); 
printf("0x%08x\n",&c); 
return 0; 


榪欐槸鐢╒C緙栬瘧鍚庣殑鎵ц緇撴灉錛?nbsp;
0x0012ff7c 
0x0012ff7b 
0x0012ff80 
鍙橀噺鍦ㄥ唴瀛樹腑鐨勯『搴忥細b(1瀛楄妭)-a(4瀛楄妭)-c(4瀛楄妭)銆?nbsp;

榪欐槸鐢―ev-C++緙栬瘧鍚庣殑鎵ц緇撴灉錛?nbsp;
0x0022ff7c 
0x0022ff7b 
0x0022ff74 
鍙橀噺鍦ㄥ唴瀛樹腑鐨勯『搴忥細c(4瀛楄妭)-涓棿鐩擱殧3瀛楄妭-b(鍗?瀛楄妭)-a(4瀛楄妭)銆?nbsp;

榪欐槸鐢╨cc緙栬瘧鍚庣殑鎵ц緇撴灉錛?nbsp;
0x0012ff6c 
0x0012ff6b 
0x0012ff64 
鍙橀噺鍦ㄥ唴瀛樹腑鐨勯『搴忥細鍚屼笂銆?nbsp;

涓変釜緙栬瘧鍣ㄩ兘鍋氬埌浜嗘暟鎹榻愶紝浣嗘槸鍚庝袱涓紪璇戝櫒鏄劇劧娌C“鑱槑”錛岃涓涓猚har鍗犱簡4瀛楄妭錛屾氮璐瑰唴瀛樺摝銆?nbsp;


鍩虹鐭ヨ瘑錛?nbsp;
鍫嗘爤鏄竴縐嶇畝鍗曠殑鏁版嵁緇撴瀯錛屾槸涓縐嶅彧鍏佽鍦ㄥ叾涓绔繘琛屾彃鍏ユ垨鍒犻櫎鐨勭嚎鎬ц〃銆傚厑璁告彃鍏ユ垨鍒犻櫎鎿嶄綔鐨勪竴绔О涓烘爤欏訛紝鍙︿竴绔О涓烘爤搴曪紝瀵瑰爢鏍堢殑鎻掑叆鍜屽垹闄ゆ搷浣滆縐頒負鍏ユ爤鍜屽嚭鏍堛傛湁涓緇凜PU鎸囦護鍙互瀹炵幇瀵硅繘紼嬬殑鍐呭瓨瀹炵幇鍫嗘爤璁塊棶銆傚叾涓紝POP鎸囦護瀹炵幇鍑烘爤鎿嶄綔錛孭USH鎸囦護瀹炵幇鍏ユ爤鎿嶄綔銆侰PU鐨凟SP瀵勫瓨鍣ㄥ瓨鏀懼綋鍓嶇嚎紼嬬殑鏍堥《鎸囬拡錛孍BP瀵勫瓨鍣ㄤ腑淇濆瓨褰撳墠綰跨▼鐨勬爤搴曟寚閽堛侰PU鐨凟IP瀵勫瓨鍣ㄥ瓨鏀句笅涓涓狢PU鎸囦護瀛樻斁鐨勫唴瀛樺湴鍧錛屽綋CPU鎵ц瀹屽綋鍓嶇殑鎸囦護鍚庯紝浠嶦IP瀵勫瓨鍣ㄤ腑璇誨彇涓嬩竴鏉℃寚浠ょ殑鍐呭瓨鍦板潃錛岀劧鍚庣戶緇墽琛屻?nbsp;
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

6 鍫嗗拰鏍堢殑鍖哄埆 (杞創)


鍙傝冿細銆奧indows涓嬬殑HEAP婧㈠嚭鍙婂叾鍒╃敤銆媌y: isno 
銆妛indows鏍稿績緙栫▼銆媌y: Jeffrey Richter 





鎽樿錛?nbsp;璁ㄨ甯歌鐨勫爢鎬ц兘闂浠ュ強濡備綍闃茶寖瀹冧滑銆傦紙鍏?nbsp;9 欏碉級

鍓嶈█
鎮ㄦ槸鍚︽槸鍔ㄦ佸垎閰嶇殑 C/C++ 瀵硅薄蹇犲疄涓斿垢榪愮殑鐢ㄦ埛錛熸偍鏄惁鍦ㄦā鍧楅棿鐨勫線榪旈氫俊涓綣佸湴浣跨敤浜?#8220;鑷姩鍖?#8221;錛熸偍鐨勭▼搴忔槸鍚﹀洜鍫嗗垎閰嶈岃繍琛岃搗鏉ュ緢鎱紵涓嶄粎浠呮偍閬囧埌榪欐牱鐨勯棶棰樸傚嚑涔庢墍鏈夐」鐩繜鏃╅兘浼氶亣鍒板爢闂銆傚ぇ瀹墮兘鎯寵錛?#8220;鎴戠殑浠g爜鐪熸濂斤紝鍙槸鍫嗗お鎱?#8221;銆傞偅鍙槸閮ㄥ垎姝g‘銆傛洿娣卞叆鐞嗚В鍫嗗強鍏剁敤娉曘佷互鍙婁細鍙戠敓浠涔堥棶棰橈紝鏄緢鏈夌敤鐨勩?

浠涔堟槸鍫嗭紵
錛堝鏋滄偍宸茬粡鐭ラ亾浠涔堟槸鍫嗭紝鍙互璺沖埌“浠涔堟槸甯歌鐨勫爢鎬ц兘闂錛?#8221;閮ㄥ垎錛?

鍦ㄧ▼搴忎腑錛屼嬌鐢ㄥ爢鏉ュ姩鎬佸垎閰嶅拰閲婃斁瀵硅薄銆傚湪涓嬪垪鎯呭喌涓嬶紝璋冪敤鍫嗘搷浣滐細 

浜嬪厛涓嶇煡閬撶▼搴忔墍闇瀵硅薄鐨勬暟閲忓拰澶у皬銆?


瀵硅薄澶ぇ鑰屼笉閫傚悎鍫嗘爤鍒嗛厤紼嬪簭銆?
鍫嗕嬌鐢ㄤ簡鍦ㄨ繍琛屾椂鍒嗛厤緇欎唬鐮佸拰鍫嗘爤鐨勫唴瀛樹箣澶栫殑閮ㄥ垎鍐呭瓨銆備笅鍥劇粰鍑轟簡鍫嗗垎閰嶇▼搴忕殑涓嶅悓灞傘?


GlobalAlloc/GlobalFree錛歁icrosoft Win32 鍫嗚皟鐢紝榪欎簺璋冪敤鐩存帴涓庢瘡涓繘紼嬬殑榛樿鍫嗚繘琛屽璇濄?

LocalAlloc/LocalFree錛歐in32 鍫嗚皟鐢紙涓轟簡涓?nbsp;Microsoft Windows NT 鍏煎錛夛紝榪欎簺璋冪敤鐩存帴涓庢瘡涓繘紼嬬殑榛樿鍫嗚繘琛屽璇濄?

COM 鐨?nbsp;IMalloc 鍒嗛厤紼嬪簭錛堟垨 CoTaskMemAlloc / CoTaskMemFree錛夛細鍑芥暟浣跨敤姣忎釜榪涚▼鐨勯粯璁ゅ爢銆傝嚜鍔ㄥ寲紼嬪簭浣跨敤“緇勪歡瀵硅薄妯″瀷 (COM)”鐨勫垎閰嶇▼搴忥紝鑰岀敵璇風殑紼嬪簭浣跨敤姣忎釜榪涚▼鍫嗐?

C/C++ 榪愯鏃?nbsp;(CRT) 鍒嗛厤紼嬪簭錛氭彁渚涗簡 malloc() 鍜?nbsp;free() 浠ュ強 new 鍜?nbsp;delete 鎿嶄綔絎︺傚 Microsoft Visual Basic 鍜?nbsp;Java 絳夎璦涔熸彁渚涗簡鏂扮殑鎿嶄綔絎﹀茍浣跨敤鍨冨溇鏀墮泦鏉ヤ唬鏇垮爢銆侰RT 鍒涘緩鑷繁鐨勭鏈夊爢錛岄┗鐣欏湪 Win32 鍫嗙殑欏墮儴銆?

Windows NT 涓紝Win32 鍫嗘槸 Windows NT 榪愯鏃跺垎閰嶇▼搴忓懆鍥寸殑钖勫眰銆傛墍鏈?nbsp;API 杞彂瀹冧滑鐨勮姹傜粰 NTDLL銆?

Windows NT 榪愯鏃跺垎閰嶇▼搴忔彁渚?nbsp;Windows NT 鍐呯殑鏍稿績鍫嗗垎閰嶇▼搴忋傚畠鐢卞叿鏈?nbsp;128 涓ぇ灝忎粠 8 鍒?nbsp;1,024 瀛楄妭鐨勭┖闂插垪琛ㄧ殑鍓嶇鍒嗛厤紼嬪簭緇勬垚銆傚悗绔垎閰嶇▼搴忎嬌鐢ㄨ櫄鎷熷唴瀛樻潵淇濈暀鍜屾彁浜ら〉銆?

鍦ㄥ浘琛ㄧ殑搴曢儴鏄?#8220;铏氭嫙鍐呭瓨鍒嗛厤紼嬪簭”錛屾搷浣滅郴緇熶嬌鐢ㄥ畠鏉ヤ繚鐣欏拰鎻愪氦欏點傛墍鏈夊垎閰嶇▼搴忎嬌鐢ㄨ櫄鎷熷唴瀛樿繘琛屾暟鎹殑瀛樺彇銆?

鍒嗛厤鍜岄噴鏀懼潡涓嶅氨閭d箞綆鍗曞悧錛熶負浣曡姳璐硅繖涔堥暱鏃墮棿錛?

鍫嗗疄鐜扮殑娉ㄦ剰浜嬮」
浼犵粺涓婏紝鎿嶄綔緋葷粺鍜岃繍琛屾椂搴撴槸涓庡爢鐨勫疄鐜板叡瀛樼殑銆傚湪涓涓繘紼嬬殑寮濮嬶紝鎿嶄綔緋葷粺鍒涘緩涓涓粯璁ゅ爢錛屽彨鍋?#8220;榪涚▼鍫?#8221;銆傚鏋滄病鏈夊叾浠栧爢鍙嬌鐢紝鍒欏潡鐨勫垎閰嶄嬌鐢?#8220;榪涚▼鍫?#8221;銆傝璦榪愯鏃朵篃鑳藉湪榪涚▼鍐呭垱寤哄崟鐙殑鍫嗐傦紙渚嬪錛孋 榪愯鏃跺垱寤哄畠鑷繁鐨勫爢銆傦級闄よ繖浜涗笓鐢ㄧ殑鍫嗗錛屽簲鐢ㄧ▼搴忔垨璁稿宸茶澆鍏ョ殑鍔ㄦ侀摼鎺ュ簱 (DLL) 涔嬩竴鍙互鍒涘緩鍜屼嬌鐢ㄥ崟鐙殑鍫嗐俉in32 鎻愪緵涓鏁村 API 鏉ュ垱寤哄拰浣跨敤縐佹湁鍫嗐傛湁鍏沖爢鍑芥暟錛堣嫳鏂囷級鐨勮灝芥寚瀵鹼紝璇峰弬瑙?nbsp;MSDN銆?

褰撳簲鐢ㄧ▼搴忔垨 DLL 鍒涘緩縐佹湁鍫嗘椂錛岃繖浜涘爢瀛樺湪浜庤繘紼嬬┖闂達紝騫朵笖鍦ㄨ繘紼嬪唴鏄彲璁塊棶鐨勩備粠緇欏畾鍫嗗垎閰嶇殑鏁版嵁灝嗗湪鍚屼竴涓爢涓婇噴鏀俱傦紙涓嶈兘浠庝竴涓爢鍒嗛厤鑰屽湪鍙︿竴涓爢閲婃斁銆傦級

鍦ㄦ墍鏈夎櫄鎷熷唴瀛樼郴緇熶腑錛屽爢椹葷暀鍦ㄦ搷浣滅郴緇熺殑“铏氭嫙鍐呭瓨綆$悊鍣?#8221;鐨勯《閮ㄣ傝璦榪愯鏃跺爢涔熼┗鐣欏湪铏氭嫙鍐呭瓨欏墮儴銆傛煇浜涙儏鍐典笅錛岃繖浜涘爢鏄搷浣滅郴緇熷爢涓殑灞傦紝鑰岃璦榪愯鏃跺爢鍒欓氳繃澶у潡鐨勫垎閰嶆潵鎵ц鑷繁鐨勫唴瀛樼鐞嗐備笉浣跨敤鎿嶄綔緋葷粺鍫嗭紝鑰屼嬌鐢ㄨ櫄鎷熷唴瀛樺嚱鏁版洿鍒╀簬鍫嗙殑鍒嗛厤鍜屽潡鐨勪嬌鐢ㄣ?

鍏稿瀷鐨勫爢瀹炵幇鐢卞墠銆佸悗绔垎閰嶇▼搴忕粍鎴愩傚墠绔垎閰嶇▼搴忕淮鎸佸浐瀹氬ぇ灝忓潡鐨勭┖闂插垪琛ㄣ傚浜庝竴嬈″垎閰嶈皟鐢紝鍫嗗皾璇曚粠鍓嶇鍒楄〃鎵懼埌涓涓嚜鐢卞潡銆傚鏋滃け璐ワ紝鍫嗚榪粠鍚庣錛堜繚鐣欏拰鎻愪氦铏氭嫙鍐呭瓨錛夊垎閰嶄竴涓ぇ鍧楁潵婊¤凍璇鋒眰銆傞氱敤鐨勫疄鐜版湁姣忓潡鍒嗛厤鐨勫紑閿錛岃繖灝嗚楄垂鎵ц鍛ㄦ湡錛屼篃鍑忓皯浜嗗彲浣跨敤鐨勫瓨鍌ㄧ┖闂淬?

Knowledge Base 鏂囩珷 Q10758錛?#8220;鐢?nbsp;calloc() 鍜?nbsp;malloc() 綆$悊鍐呭瓨” 錛堟悳绱㈡枃绔犵紪鍙鳳級, 鍖呭惈浜嗘湁鍏寵繖浜涗富棰樼殑鏇村鑳屾櫙鐭ヨ瘑銆傚彟澶栵紝鏈夊叧鍫嗗疄鐜板拰璁捐鐨勮緇嗚璁轟篃鍙湪涓嬪垪钁椾綔涓壘鍒幫細“Dynamic Storage Allocation: A Survey and Critical Review”錛屼綔鑰?nbsp;Paul R. Wilson銆丮ark S. Johnstone銆丮ichael Neely 鍜?nbsp;David Boles錛?#8220;International Workshop on Memory Management”, 浣滆?nbsp;Kinross, Scotland, UK, 1995 騫?nbsp;9 鏈?http://www.cs.utexas.edu/users/oops/papers.html)錛堣嫳鏂囷級銆?
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

7 鍫嗗拰鏍堢殑鍖哄埆 (杞創)

Windows NT 鐨勫疄鐜幫紙Windows NT 鐗堟湰 4.0 鍜屾洿鏂扮増鏈級 浣跨敤浜?nbsp;127 涓ぇ灝忎粠 8 鍒?nbsp;1,024 瀛楄妭鐨?nbsp;8 瀛楄妭瀵歸綈鍧楃┖闂插垪琛ㄥ拰涓涓?#8220;澶у潡”鍒楄〃銆?#8220;澶у潡”鍒楄〃錛堢┖闂插垪琛╗0]錛?nbsp;淇濆瓨澶т簬 1,024 瀛楄妭鐨勫潡銆傜┖闂插垪琛ㄥ綰充簡鐢ㄥ弻鍚戦摼琛ㄩ摼鎺ュ湪涓璧風殑瀵硅薄銆傞粯璁ゆ儏鍐典笅錛?#8220;榪涚▼鍫?#8221;鎵ц鏀墮泦鎿嶄綔銆傦紙鏀墮泦鏄皢鐩擱偦絀洪棽鍧楀悎騫舵垚涓涓ぇ鍧楃殑鎿嶄綔銆傦級鏀墮泦鑰楄垂浜嗛澶栫殑鍛ㄦ湡錛屼絾鍑忓皯浜嗗爢鍧楃殑鍐呴儴紕庣墖銆?

鍗曚竴鍏ㄥ眬閿佷繚鎶ゅ爢錛岄槻姝㈠綰跨▼寮忕殑浣跨敤銆傦紙璇峰弬瑙?#8220;Server Performance and Scalability Killers”涓殑絎竴涓敞鎰忎簨欏? George Reilly 鎵钁楋紝鍦?nbsp;“MSDN Online Web Workshop”涓婏紙绔欑偣錛?a target=_blank>http://msdn.microsoft.com/workshop/server/iis/tencom.asp錛堣嫳鏂囷級銆傦級鍗曚竴鍏ㄥ眬閿佹湰璐ㄤ笂鏄敤鏉ヤ繚鎶ゅ爢鏁版嵁緇撴瀯錛岄槻姝㈣法澶氱嚎紼嬬殑闅忔満瀛樺彇銆傝嫢鍫嗘搷浣滃お棰戠箒錛屽崟涓鍏ㄥ眬閿佷細瀵規ц兘鏈変笉鍒╃殑褰卞搷銆?

浠涔堟槸甯歌鐨勫爢鎬ц兘闂錛?
浠ヤ笅鏄偍浣跨敤鍫嗘椂浼氶亣鍒扮殑鏈甯歌闂錛?nbsp;

鍒嗛厤鎿嶄綔閫犳垚鐨勯熷害鍑忔參銆傚厜鍒嗛厤灝辮楄垂寰堥暱鏃墮棿銆傛渶鍙兘瀵艱嚧榪愯閫熷害鍑忔參鍘熷洜鏄┖闂插垪琛ㄦ病鏈夊潡錛屾墍浠ヨ繍琛屾椂鍒嗛厤紼嬪簭浠g爜浼氳楄垂鍛ㄦ湡瀵繪壘杈冨ぇ鐨勭┖闂插潡錛屾垨浠庡悗绔垎閰嶇▼搴忓垎閰嶆柊鍧椼?


閲婃斁鎿嶄綔閫犳垚鐨勯熷害鍑忔參銆傞噴鏀炬搷浣滆楄垂杈冨鍛ㄦ湡錛屼富瑕佹槸鍚敤浜嗘敹闆嗘搷浣溿傛敹闆嗘湡闂達紝姣忎釜閲婃斁鎿嶄綔“鏌ユ壘”瀹冪殑鐩擱偦鍧楋紝鍙栧嚭瀹冧滑騫舵瀯閫犳垚杈冨ぇ鍧楋紝鐒跺悗鍐嶆妸姝よ緝澶у潡鎻掑叆絀洪棽鍒楄〃銆傚湪鏌ユ壘鏈熼棿錛屽唴瀛樺彲鑳戒細闅忔満紕板埌錛屼粠鑰屽鑷撮珮閫熺紦瀛樹笉鑳藉懡涓紝鎬ц兘闄嶄綆銆?


鍫嗙珵浜夐犳垚鐨勯熷害鍑忔參銆傚綋涓や釜鎴栧涓嚎紼嬪悓鏃惰闂暟鎹紝鑰屼笖涓涓嚎紼嬬戶緇繘琛屼箣鍓嶅繀欏葷瓑寰呭彟涓涓嚎紼嬪畬鎴愭椂灝卞彂鐢熺珵浜夈傜珵浜夋繪槸瀵艱嚧楹葷儲錛涜繖涔熸槸鐩墠澶氬鐞嗗櫒緋葷粺閬囧埌鐨勬渶澶ч棶棰樸傚綋澶ч噺浣跨敤鍐呭瓨鍧楃殑搴旂敤紼嬪簭鎴?nbsp;DLL 浠ュ綰跨▼鏂瑰紡榪愯錛堟垨榪愯浜庡澶勭悊鍣ㄧ郴緇熶笂錛夋椂灝嗗鑷撮熷害鍑忔參銆傚崟涓閿佸畾鐨勪嬌鐢ㄢ斿父鐢ㄧ殑瑙e喅鏂規鈥旀剰鍛崇潃浣跨敤鍫嗙殑鎵鏈夋搷浣滄槸搴忓垪鍖栫殑銆傚綋絳夊緟閿佸畾鏃跺簭鍒楀寲浼氬紩璧風嚎紼嬪垏鎹笂涓嬫枃銆傚彲浠ユ兂璞′氦鍙夎礬鍙i棯鐑佺殑綰㈢伅澶勮蛋璧板仠鍋滃鑷寸殑閫熷害鍑忔參銆?nbsp;
绔炰簤閫氬父浼氬鑷寸嚎紼嬪拰榪涚▼鐨勪笂涓嬫枃鍒囨崲銆備笂涓嬫枃鍒囨崲鐨勫紑閿鏄緢澶х殑錛屼絾寮閿鏇村ぇ鐨勬槸鏁版嵁浠庡鐞嗗櫒楂橀熺紦瀛樹腑涓㈠け錛屼互鍙婂悗鏉ョ嚎紼嬪媧繪椂鐨勬暟鎹噸寤恒?

鍫嗙牬鍧忛犳垚鐨勯熷害鍑忔參銆傞犳垚鍫嗙牬鍧忕殑鍘熷洜鏄簲鐢ㄧ▼搴忓鍫嗗潡鐨勪笉姝g‘浣跨敤銆傞氬父鎯呭艦鍖呮嫭閲婃斁宸查噴鏀劇殑鍫嗗潡鎴栦嬌鐢ㄥ凡閲婃斁鐨勫爢鍧楋紝浠ュ強鍧楃殑瓚婄晫閲嶅啓絳夋槑鏄鵑棶棰樸傦紙鐮村潖涓嶅湪鏈枃璁ㄨ鑼冨洿涔嬪唴銆傛湁鍏沖唴瀛橀噸鍐欏拰娉勬紡絳夊叾浠栫粏鑺傦紝璇峰弬瑙?nbsp;Microsoft Visual C++(R) 璋冭瘯鏂囨。 銆傦級


棰戠箒鐨勫垎閰嶅拰閲嶅垎閰嶉犳垚鐨勯熷害鍑忔參銆傝繖鏄嬌鐢ㄨ剼鏈璦鏃墮潪甯告櫘閬嶇殑鐜拌薄銆傚瀛楃涓茶鍙嶅鍒嗛厤錛岄殢閲嶅垎閰嶅闀垮拰閲婃斁銆備笉瑕佽繖鏍峰仛錛屽鏋滃彲鑳斤紝灝介噺鍒嗛厤澶у瓧絎︿覆鍜屼嬌鐢ㄧ紦鍐插尯銆傚彟涓縐嶆柟娉曞氨鏄敖閲忓皯鐢ㄨ繛鎺ユ搷浣溿?
绔炰簤鏄湪鍒嗛厤鍜岄噴鏀炬搷浣滀腑瀵艱嚧閫熷害鍑忔參鐨勯棶棰樸傜悊鎯蟲儏鍐典笅錛屽笇鏈涗嬌鐢ㄦ病鏈夌珵浜夊拰蹇熷垎閰?閲婃斁鐨勫爢銆傚彲鎯滐紝鐜板湪榪樻病鏈夎繖鏍風殑閫氱敤鍫嗭紝涔熻灝嗘潵浼氭湁銆?

鍦ㄦ墍鏈夌殑鏈嶅姟鍣ㄧ郴緇熶腑錛堝 IIS銆丮SProxy銆丏atabaseStacks銆佺綉緇滄湇鍔″櫒銆?nbsp;Exchange 鍜屽叾浠栵級, 鍫嗛攣瀹氬疄鍦ㄦ槸涓ぇ鐡墮銆傚鐞嗗櫒鏁拌秺澶氾紝绔炰簤灝辮秺浼氭伓鍖栥?

灝介噺鍑忓皯鍫嗙殑浣跨敤
鐜板湪鎮ㄦ槑鐧戒嬌鐢ㄥ爢鏃跺瓨鍦ㄧ殑闂浜嗭紝闅鵑亾鎮ㄤ笉鎯蟲嫢鏈夎兘瑙e喅榪欎簺闂鐨勮秴綰ч瓟媯掑悧錛熸垜鍙笇鏈涙湁銆備絾娌℃湁欖旀硶鑳戒嬌鍫嗚繍琛屽姞蹇斿洜姝や笉瑕佹湡鏈涘湪浜у搧鍑鴻揣涔嬪墠鐨勬渶鍚庝竴鏄熸湡鑳藉澶т負鏀硅銆傚鏋滄彁鍓嶈鍒掑爢絳栫暐錛屾儏鍐靛皢浼氬ぇ澶уソ杞傝皟鏁翠嬌鐢ㄥ爢鐨勬柟娉曪紝鍑忓皯瀵瑰爢鐨勬搷浣滄槸鎻愰珮鎬ц兘鐨勮壇鏂廣?

濡備綍鍑忓皯浣跨敤鍫嗘搷浣滐紵閫氳繃鍒╃敤鏁版嵁緇撴瀯鍐呯殑浣嶇疆鍙噺灝戝爢鎿嶄綔鐨勬鏁般傝鑰冭檻涓嬪垪瀹炰緥錛?

struct ObjectA {
   // objectA 鐨勬暟鎹?nbsp;
}

struct ObjectB {
   // objectB 鐨勬暟鎹?nbsp;
}

// 鍚屾椂浣跨敤 objectA 鍜?nbsp;objectB

//
// 浣跨敤鎸囬拡 
//
struct ObjectB {
   struct ObjectA * pObjA;
   // objectB 鐨勬暟鎹?nbsp;
}

//
// 浣跨敤宓屽叆
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

8 鍫嗗拰鏍堢殑鍖哄埆 (杞創)
//
struct ObjectB {
   struct ObjectA pObjA;
   // objectB 鐨勬暟鎹?nbsp;
}

//
// 闆嗗悎 – 鍦ㄥ彟涓瀵硅薄鍐呬嬌鐢?nbsp;objectA 鍜?nbsp;objectB
//

struct ObjectX {
   struct ObjectA  objA;
   struct ObjectB  objB;
}

閬垮厤浣跨敤鎸囬拡鍏寵仈涓や釜鏁版嵁緇撴瀯銆傚鏋滀嬌鐢ㄦ寚閽堝叧鑱斾袱涓暟鎹粨鏋勶紝鍓嶉潰瀹炰緥涓殑瀵硅薄 A 鍜?nbsp;B 灝嗚鍒嗗埆鍒嗛厤鍜岄噴鏀俱傝繖浼氬鍔犻澶栧紑閿鈥旀垜浠閬垮厤榪欑鍋氭硶銆?


鎶婂甫鎸囬拡鐨勫瓙瀵硅薄宓屽叆鐖跺璞°傚綋瀵硅薄涓湁鎸囬拡鏃訛紝鍒欐剰鍛崇潃瀵硅薄涓湁鍔ㄦ佸厓绱狅紙鐧懼垎涔嬪叓鍗侊級鍜屾病鏈夊紩鐢ㄧ殑鏂頒綅緗傚祵鍏ュ鍔犱簡浣嶇疆浠庤屽噺灝戜簡榪涗竴姝ュ垎閰?閲婃斁鐨勯渶姹傘傝繖灝嗘彁楂樺簲鐢ㄧ▼搴忕殑鎬ц兘銆?


鍚堝茍灝忓璞″艦鎴愬ぇ瀵硅薄錛堣仛鍚堬級銆傝仛鍚堝噺灝戝垎閰嶅拰閲婃斁鐨勫潡鐨勬暟閲忋傚鏋滄湁鍑犱釜寮鍙戣咃紝鍚勮嚜寮鍙戣璁$殑涓嶅悓閮ㄥ垎錛屽垯鏈緇堜細鏈夎澶氬皬瀵硅薄闇瑕佸悎騫躲傞泦鎴愮殑鎸戞垬灝辨槸瑕佹壘鍒版紜殑鑱氬悎杈圭晫銆?


鍐呰仈緙撳啿鍖鴻兘澶熸弧瓚崇櫨鍒嗕箣鍏崄鐨勯渶瑕侊紙aka 80-20 瑙勫垯錛夈備釜鍒儏鍐典笅錛岄渶瑕佸唴瀛樼紦鍐插尯鏉ヤ繚瀛樺瓧絎︿覆/浜岃繘鍒舵暟鎹紝浣嗕簨鍏堜笉鐭ラ亾鎬誨瓧鑺傛暟銆備及璁″茍鍐呰仈涓涓ぇ灝忚兘婊¤凍鐧懼垎涔嬪叓鍗侀渶瑕佺殑緙撳啿鍖恒傚鍓╀綑鐨勭櫨鍒嗕箣浜屽崄錛屽彲浠ュ垎閰嶄竴涓柊鐨勭紦鍐插尯鍜屾寚鍚戣繖涓紦鍐插尯鐨勬寚閽堛傝繖鏍鳳紝灝卞噺灝戝垎閰嶅拰閲婃斁璋冪敤騫跺鍔犳暟鎹殑浣嶇疆絀洪棿錛屼粠鏍規湰涓婃彁楂樹唬鐮佺殑鎬ц兘銆?


鍦ㄥ潡涓垎閰嶅璞★紙鍧楀寲錛夈傚潡鍖栨槸浠ョ粍鐨勬柟寮忎竴嬈″垎閰嶅涓璞$殑鏂規硶銆傚鏋滃鍒楄〃鐨勯」榪炵畫璺熻釜錛屼緥濡傚涓涓?nbsp;{鍚嶇О錛屽紏 瀵圭殑鍒楄〃錛屾湁涓ょ閫夋嫨錛氶夋嫨涓鏄負姣忎竴涓?#8220;鍚嶇О-鍊?#8221;瀵瑰垎閰嶄竴涓妭鐐癸紱閫夋嫨浜屾槸鍒嗛厤涓涓兘瀹圭撼錛堝浜斾釜錛?#8220;鍚嶇О-鍊?#8221;瀵圭殑緇撴瀯銆備緥濡傦紝涓鑸儏鍐典笅錛屽鏋滃瓨鍌ㄥ洓瀵癸紝灝卞彲鍑忓皯鑺傜偣鐨勬暟閲忥紝濡傛灉闇瑕侀澶栫殑絀洪棿鏁伴噺錛屽垯浣跨敤闄勫姞鐨勯摼琛ㄦ寚閽堛?nbsp;
鍧楀寲鏄弸濂界殑澶勭悊鍣ㄩ珮閫熺紦瀛橈紝鐗瑰埆鏄浜?nbsp;L1-楂橀熺紦瀛橈紝鍥犱負瀹冩彁渚涗簡澧炲姞鐨勪綅緗?nbsp;鈥斾笉鐢ㄨ瀵逛簬鍧楀垎閰嶏紝寰堝鏁版嵁鍧椾細鍦ㄥ悓涓涓櫄鎷熼〉涓?

姝g‘浣跨敤 _amblksiz銆侰 榪愯鏃?nbsp;(CRT) 鏈夊畠鐨勮嚜瀹氫箟鍓嶇鍒嗛厤紼嬪簭錛岃鍒嗛厤紼嬪簭浠庡悗绔紙Win32 鍫嗭級鍒嗛厤澶у皬涓?nbsp;_amblksiz 鐨勫潡銆傚皢 _amblksiz 璁劇疆涓鴻緝楂樼殑鍊艱兘娼滃湪鍦板噺灝戝鍚庣鐨勮皟鐢ㄦ鏁般傝繖鍙騫挎硾浣跨敤 CRT 鐨勭▼搴忛傜敤銆?
浣跨敤涓婅堪鎶鏈皢鑾峰緱鐨勫ソ澶勪細鍥犲璞$被鍨嬨佸ぇ灝忓強宸ヤ綔閲忚屾湁鎵涓嶅悓銆備絾鎬昏兘鍦ㄦц兘鍜屽彲鍗囩緝鎬ф柟闈㈡湁鎵鏀惰幏銆傚彟涓鏂歸潰錛屼唬鐮佷細鏈夌偣鐗規畩錛屼絾濡傛灉緇忚繃娣辨濈啛铏戯紝浠g爜榪樻槸寰堝鏄撶鐞嗙殑銆?

鍏朵粬鎻愰珮鎬ц兘鐨勬妧鏈?
涓嬮潰鏄竴浜涙彁楂橀熷害鐨勬妧鏈細 

浣跨敤 Windows NT5 鍫?nbsp;
鐢變簬鍑犱釜鍚屼簨鐨勫姫鍔涘拰杈涘嫟宸ヤ綔錛?998 騫村垵 Microsoft Windows(R) 2000 涓湁浜嗗嚑涓噸澶ф敼榪涳細

鏀硅繘浜嗗爢浠g爜鍐呯殑閿佸畾銆傚爢浠g爜瀵規瘡鍫嗕竴涓攣銆傚叏灞閿佷繚鎶ゅ爢鏁版嵁緇撴瀯錛岄槻姝㈠綰跨▼寮忕殑浣跨敤銆備絾涓嶅垢鐨勬槸錛屽湪楂橀氫俊閲忕殑鎯呭喌涓嬶紝鍫嗕粛鍙楀洶浜庡叏灞閿侊紝瀵艱嚧楂樼珵浜夊拰浣庢ц兘銆俉indows 2000 涓紝閿佸唴浠g爜鐨勪復鐣屽尯灝嗙珵浜夌殑鍙兘鎬у噺鍒版渶灝?浠庤屾彁楂樹簡鍙幾緙╂с?


浣跨敤 “Lookaside”鍒楄〃銆傚爢鏁版嵁緇撴瀯瀵瑰潡鐨勬墍鏈夌┖闂查」浣跨敤浜嗗ぇ灝忓湪 8 鍒?nbsp;1,024 瀛楄妭錛堜互 8-瀛楄妭閫掑錛夌殑蹇熼珮閫熺紦瀛樸傚揩閫熼珮閫熺紦瀛樻渶鍒濅繚鎶ゅ湪鍏ㄥ眬閿佸唴銆傜幇鍦紝浣跨敤 lookaside 鍒楄〃鏉ヨ闂繖浜涘揩閫熼珮閫熺紦瀛樼┖闂插垪琛ㄣ傝繖浜涘垪琛ㄤ笉瑕佹眰閿佸畾錛岃屾槸浣跨敤 64 浣嶇殑浜掗攣鎿嶄綔錛屽洜姝ゆ彁楂樹簡鎬ц兘銆?


鍐呴儴鏁版嵁緇撴瀯綆楁硶涔熷緱鍒版敼榪涖?
榪欎簺鏀硅繘閬垮厤浜嗗鍒嗛厤楂橀熺紦瀛樼殑闇姹傦紝浣嗕笉鎺掗櫎鍏朵粬鐨勪紭鍖栥備嬌鐢?nbsp;Windows NT5 鍫嗚瘎浼版偍鐨勪唬鐮侊紱瀹冨灝忎簬 1,024 瀛楄妭 (1 KB) 鐨勫潡錛堟潵鑷墠绔垎閰嶇▼搴忕殑鍧楋級鏄渶浣崇殑銆侴lobalAlloc() 鍜?nbsp;LocalAlloc() 寤虹珛鍦ㄥ悓涓鍫嗕笂錛屾槸瀛樺彇姣忎釜榪涚▼鍫嗙殑閫氱敤鏈哄埗銆傚鏋滃笇鏈涜幏寰楅珮鐨勫眬閮ㄦц兘錛屽垯浣跨敤 Heap(R) API 鏉ュ瓨鍙栨瘡涓繘紼嬪爢錛屾垨涓哄垎閰嶆搷浣滃垱寤鴻嚜宸辯殑鍫嗐傚鏋滈渶瑕佸澶у潡鎿嶄綔錛屼篃鍙互鐩存帴浣跨敤 VirtualAlloc() / VirtualFree() 鎿嶄綔銆?

涓婅堪鏀硅繘宸插湪 Windows 2000 beta 2 鍜?nbsp;Windows NT 4.0 SP4 涓嬌鐢ㄣ傛敼榪涘悗錛屽爢閿佺殑绔炰簤鐜囨樉钁楅檷浣庛傝繖浣挎墍鏈?nbsp;Win32 鍫嗙殑鐩存帴鐢ㄦ埛鍙楃泭銆侰RT 鍫嗗緩绔嬩簬 Win32 鍫嗙殑欏墮儴錛屼絾瀹冧嬌鐢ㄨ嚜宸辯殑灝忓潡鍫嗭紝鍥犺屼笉鑳戒粠 Windows NT 鏀硅繘涓彈鐩娿傦紙Visual C++ 鐗堟湰 6.0 涔熸湁鏀硅繘鐨勫爢鍒嗛厤紼嬪簭銆傦級
浣滆咃細121.30.67.*
2006-11-26 23:15 鍥炲姝ゅ彂璦 

9 鍫嗗拰鏍堢殑鍖哄埆 (杞創)

浣跨敤鍒嗛厤楂橀熺紦瀛?nbsp;
鍒嗛厤楂橀熺紦瀛樺厑璁擱珮閫熺紦瀛樺垎閰嶇殑鍧楋紝浠ヤ究灝嗘潵閲嶇敤銆傝繖鑳藉鍑忓皯瀵硅繘紼嬪爢錛堟垨鍏ㄥ眬鍫嗭級鐨勫垎閰?閲婃斁璋冪敤鐨勬鏁幫紝涔熷厑璁告渶澶ч檺搴︾殑閲嶇敤鏇劇粡鍒嗛厤鐨勫潡銆傚彟澶栵紝鍒嗛厤楂橀熺紦瀛樺厑璁告敹闆嗙粺璁′俊鎭?浠ヤ究杈冨ソ鍦扮悊瑙e璞″湪杈冮珮灞傛涓婄殑浣跨敤銆?

鍏稿瀷鍦幫紝鑷畾涔夊爢鍒嗛厤紼嬪簭鍦ㄨ繘紼嬪爢鐨勯《閮ㄥ疄鐜般傝嚜瀹氫箟鍫嗗垎閰嶇▼搴忎笌緋葷粺鍫嗙殑琛屼負寰堢浉浼箋備富瑕佺殑宸埆鏄畠鍦ㄨ繘紼嬪爢鐨勯《閮ㄤ負鍒嗛厤鐨勫璞℃彁渚涢珮閫熺紦瀛樸傞珮閫熺紦瀛樿璁℃垚涓濂楀浐瀹氬ぇ灝忥紙濡?nbsp;32 瀛楄妭銆?4 瀛楄妭銆?28 瀛楄妭絳夛級銆傝繖涓涓緢濂界殑絳栫暐錛屼絾榪欑鑷畾涔夊爢鍒嗛厤紼嬪簭涓㈠け涓庡垎閰嶅拰閲婃斁鐨勫璞$浉鍏崇殑“璇箟淇℃伅”銆?nbsp;

涓庤嚜瀹氫箟鍫嗗垎閰嶇▼搴忕浉鍙嶏紝“鍒嗛厤楂橀熺紦瀛?#8221;浣滀負姣忕被鍒嗛厤楂橀熺紦瀛樻潵瀹炵幇銆傞櫎鑳藉鎻愪緵鑷畾涔夊爢鍒嗛厤紼嬪簭鐨勬墍鏈夊ソ澶勪箣澶栵紝瀹冧滑榪樿兘澶熶繚鐣欏ぇ閲忚涔変俊鎭傛瘡涓垎閰嶉珮閫熺紦瀛樺鐞嗙▼搴忎笌涓涓洰鏍囦簩榪涘埗瀵硅薄鍏寵仈銆傚畠鑳藉浣跨敤涓濂楀弬鏁拌繘琛屽垵濮嬪寲錛岃繖浜涘弬鏁拌〃紺哄茍鍙戠駭鍒佸璞″ぇ灝忓拰淇濇寔鍦ㄧ┖闂插垪琛ㄤ腑鐨勫厓绱犵殑鏁伴噺絳夈傚垎閰嶉珮閫熺紦瀛樺鐞嗙▼搴忓璞$淮鎸佽嚜宸辯殑縐佹湁絀洪棽瀹炰綋姹狅紙涓嶈秴榪囨寚瀹氱殑闃鍊鹼級騫朵嬌鐢ㄧ鏈変繚鎶ら攣銆傚悎鍦ㄤ竴璧鳳紝鍒嗛厤楂橀熺紦瀛樺拰縐佹湁閿佸噺灝戜簡涓庝富緋葷粺鍫嗙殑閫氫俊閲忥紝鍥犺屾彁渚涗簡澧炲姞鐨勫茍鍙戙佹渶澶ч檺搴︾殑閲嶇敤鍜岃緝楂樼殑鍙幾緙╂с?

闇瑕佷嬌鐢ㄦ竻鐞嗙▼搴忔潵瀹氭湡媯鏌ユ墍鏈夊垎閰嶉珮閫熺紦瀛樺鐞嗙▼搴忕殑媧誨姩鎯呭喌騫跺洖鏀舵湭鐢ㄧ殑璧勬簮銆傚鏋滃彂鐜版病鏈夋椿鍔紝灝嗛噴鏀懼垎閰嶅璞$殑姹狅紝浠庤屾彁楂樻ц兘銆?

鍙互瀹℃牳姣忎釜鍒嗛厤/閲婃斁媧誨姩銆傜涓綰т俊鎭寘鎷璞°佸垎閰嶅拰閲婃斁璋冪敤鐨勬繪暟銆傞氳繃鏌ョ湅瀹冧滑鐨勭粺璁′俊鎭彲浠ュ緱鍑哄悇涓璞′箣闂寸殑璇箟鍏崇郴銆傚埄鐢ㄤ互涓婁粙緇嶇殑璁稿鎶鏈箣涓錛岃繖縐嶅叧緋誨彲浠ョ敤鏉ュ噺灝戝唴瀛樺垎閰嶃?

鍒嗛厤楂橀熺紦瀛樹篃璧峰埌浜嗚皟璇曞姪鎵嬬殑浣滅敤錛屽府鍔╂偍璺熻釜娌℃湁瀹屽叏娓呴櫎鐨勫璞℃暟閲忋傞氳繃鏌ョ湅鍔ㄦ佸爢鏍堣繑鍥炶釜榪瑰拰闄ゆ病鏈夋竻闄ょ殑瀵硅薄涔嬪鐨勭鍚嶏紝鐢氳嚦鑳藉鎵懼埌紜垏鐨勫け璐ョ殑璋冪敤鑰呫?

MP 鍫?nbsp;
MP 鍫嗘槸瀵瑰澶勭悊鍣ㄥ弸濂界殑鍒嗗竷寮忓垎閰嶇殑紼嬪簭鍖咃紝鍦?nbsp;Win32 SDK錛圵indows NT 4.0 鍜屾洿鏂扮増鏈級涓彲浠ュ緱鍒般傛渶鍒濈敱 JVert 瀹炵幇錛屾澶勫爢鎶借薄寤虹珛鍦?nbsp;Win32 鍫嗙▼搴忓寘鐨勯《閮ㄣ侻P 鍫嗗垱寤哄涓?nbsp;Win32 鍫嗭紝騫惰瘯鍥懼皢鍒嗛厤璋冪敤鍒嗗竷鍒頒笉鍚屽爢錛屼互鍑忓皯鍦ㄦ墍鏈夊崟涓閿佷笂鐨勭珵浜夈?

鏈▼搴忓寘鏄ソ鐨勬楠?nbsp;鈥斾竴縐嶆敼榪涚殑 MP-鍙嬪ソ鐨勮嚜瀹氫箟鍫嗗垎閰嶇▼搴忋備絾鏄紝瀹冧笉鎻愪緵璇箟淇℃伅鍜岀己涔忕粺璁″姛鑳姐傞氬父灝?nbsp;MP 鍫嗕綔涓?nbsp;SDK 搴撴潵浣跨敤銆傚鏋滀嬌鐢ㄨ繖涓?nbsp;SDK 鍒涘緩鍙噸鐢ㄧ粍浠訛紝鎮ㄥ皢澶уぇ鍙楃泭銆備絾鏄紝濡傛灉鍦ㄦ瘡涓?nbsp;DLL 涓緩绔嬭繖涓?nbsp;SDK 搴擄紝灝嗗鍔犲伐浣滆緗?

閲嶆柊鎬濊冪畻娉曞拰鏁版嵁緇撴瀯 
瑕佸湪澶氬鐞嗗櫒鏈哄櫒涓婁幾緙╋紝鍒欑畻娉曘佸疄鐜般佹暟鎹粨鏋勫拰紜歡蹇呴』鍔ㄦ佷幾緙┿傝鐪嬫渶緇忓父鍒嗛厤鍜岄噴鏀劇殑鏁版嵁緇撴瀯銆傝瘯闂紝“鎴戣兘鐢ㄤ笉鍚岀殑鏁版嵁緇撴瀯瀹屾垚姝ゅ伐浣滃悧錛?#8221;渚嬪錛屽鏋滃湪搴旂敤紼嬪簭鍒濆鍖栨椂鍔犺澆浜嗗彧璇婚」鐨勫垪琛紝榪欎釜鍒楄〃涓嶅繀鏄嚎鎬ч摼鎺ョ殑鍒楄〃銆傚鏋滄槸鍔ㄦ佸垎閰嶇殑鏁扮粍灝遍潪甯稿ソ銆傚姩鎬佸垎閰嶇殑鏁扮粍灝嗗噺灝戝唴瀛樹腑鐨勫爢鍧楀拰紕庣墖錛屼粠鑰屽寮烘ц兘銆?

鍑忓皯闇瑕佺殑灝忓璞$殑鏁伴噺鍑忓皯鍫嗗垎閰嶇▼搴忕殑璐熻澆銆備緥濡傦紝鎴戜滑鍦ㄦ湇鍔″櫒鐨勫叧閿鐞嗚礬寰勪笂浣跨敤浜斾釜涓嶅悓鐨勫璞★紝姣忎釜瀵硅薄鍗曠嫭鍒嗛厤鍜岄噴鏀俱備竴璧烽珮閫熺紦瀛樿繖浜涘璞★紝鎶婂爢璋冪敤浠庝簲涓噺灝戝埌涓涓紝鏄捐憲鍑忓皯浜嗗爢鐨勮礋杞斤紝鐗瑰埆褰撴瘡縐掗挓澶勭悊 1,000 涓互涓婄殑璇鋒眰鏃躲?

濡傛灉澶ч噺浣跨敤“Automation”緇撴瀯錛岃鑰冭檻浠庝富綰夸唬鐮佷腑鍒犻櫎“Automation BSTR”錛屾垨鑷沖皯閬垮厤閲嶅鐨?nbsp;BSTR 鎿嶄綔銆傦紙BSTR 榪炴帴瀵艱嚧榪囧鐨勯噸鍒嗛厤鍜屽垎閰?閲婃斁鎿嶄綔銆傦級

鎽樿
瀵規墍鏈夊鉤鍙板線寰閮藉瓨鍦ㄥ爢瀹炵幇錛屽洜姝ゆ湁宸ㄥぇ鐨勫紑閿銆傛瘡涓崟鐙唬鐮侀兘鏈夌壒瀹氱殑瑕佹眰錛屼絾璁捐鑳介噰鐢ㄦ湰鏂囪璁虹殑鍩烘湰鐞嗚鏉ュ噺灝戝爢涔嬮棿鐨勭浉浜掍綔鐢ㄣ?nbsp;

璇勪環鎮ㄧ殑浠g爜涓爢鐨勪嬌鐢ㄣ?


鏀硅繘鎮ㄧ殑浠g爜錛屼互浣跨敤杈冨皯鐨勫爢璋冪敤錛氬垎鏋愬叧閿礬寰勫拰鍥哄畾鏁版嵁緇撴瀯銆?


鍦ㄥ疄鐜拌嚜瀹氫箟鐨勫寘瑁呯▼搴忎箣鍓嶄嬌鐢ㄩ噺鍖栧爢璋冪敤鎴愭湰鐨勬柟娉曘?


濡傛灉瀵規ц兘涓嶆弧鎰忥紝璇瘋姹?nbsp;OS 緇勬敼榪涘爢銆傛洿澶氳繖綾昏姹傛剰鍛崇潃瀵規敼榪涘爢鐨勬洿澶氬叧娉ㄣ?


瑕佹眰 C 榪愯鏃剁粍閽堝 OS 鎵鎻愪緵鐨勫爢鍒朵綔灝忓閥鐨勫垎閰嶅寘瑁呯▼搴忋傞殢鐫 OS 鍫嗙殑鏀硅繘錛孋 榪愯鏃跺爢璋冪敤鐨勬垚鏈皢鍑忓皬銆?


鎿嶄綔緋葷粺錛圵indows NT 瀹舵棌錛夋鍦ㄤ笉鏂敼榪涘爢銆傝闅忔椂鍏蟲敞鍜屽埄鐢ㄨ繖浜涙敼榪涖?
Murali Krishnan 鏄?nbsp;Internet Information Server (IIS) 緇勭殑棣栧腑杞歡璁捐宸ョ▼甯堛備粠 1.0 鐗堟湰寮濮嬩粬灝辮璁?nbsp;IIS錛屽茍鎴愬姛鍙戣浜?nbsp;1.0 鐗堟湰鍒?nbsp;4.0 鐗堟湰銆侻urali 緇勭粐騫墮瀵?nbsp;IIS 鎬ц兘緇勪笁騫?nbsp;(1995-1998), 浠庝竴寮濮嬪氨褰卞搷 IIS 鎬ц兘銆備粬鎷ユ湁濞佹柉搴鋒槦宸?nbsp;Madison 澶у鐨?nbsp;M.S.鍜屽嵃搴?nbsp;Anna 澶у鐨?nbsp;B.S.銆傚伐浣滀箣澶栵紝浠栧枩嬈㈤槄璇匯佹墦鎺掔悆鍜屽搴児楗?
鍘熷笘鏉ヨ嚜浜庯細http://tieba.baidu.com/f?kz=150791801

]]>
I/O 鍚屾錛屽紓姝ワ紝闃誨錛岄潪闃誨闂http://m.shnenglu.com/jianlinzhang/archive/2009/07/10/89739.html寮犲緩鏋?/dc:creator>寮犲緩鏋?/author>Fri, 10 Jul 2009 09:30:00 GMThttp://m.shnenglu.com/jianlinzhang/archive/2009/07/10/89739.htmlhttp://m.shnenglu.com/jianlinzhang/comments/89739.htmlhttp://m.shnenglu.com/jianlinzhang/archive/2009/07/10/89739.html#Feedback0http://m.shnenglu.com/jianlinzhang/comments/commentRss/89739.htmlhttp://m.shnenglu.com/jianlinzhang/services/trackbacks/89739.html IO - 鍚屾錛屽紓姝ワ紝闃誨錛岄潪闃誨
鍚屾錛坰ynchronous錛?IO鍜屽紓姝ワ紙asynchronous錛?IO錛岄樆濉烇紙blocking錛?IO鍜岄潪闃誨錛坣on-blocking錛塈O 錛屾垜鐩鎬俊榪欏嚑涓瘝鍥版壈榪囧緢澶氫漢錛屾洿鐥涜嫤鐨勬槸錛屽鏋滀綘鏌ラ槄榪囨枃鐚祫鏂欙紝浣犱細鍙戠幇涓嶅悓鐨勮祫鏂欎腑鐨勮В閲婃槸涓嶄竴鏍風殑錛屼緥濡傚湪wiki涓紝寮傛鍜岄潪闃誨琚綋鎴愪簡涓涓蹇?銆?br>鍑虹幇榪欑鎯呭喌鐨勫師鍥狅紝鎴戣涓哄緢澶х▼搴︿笂鏄洜涓篒O榪欎釜姒傚康鏈韓灝卞緢瀹芥硾錛屽畠鍏跺疄鍖呭惈浜嗗ソ鍑犱釜灞傞潰銆傛瘮濡傝錛屼綘鍙互鎶婂畠鐪嬪仛鏄竴涓墿鐞嗕笂鐨勮澶囷紝涔熷彲浠ョ湅鍋氭槸 OS鎶借薄鍑烘潵鐨勪竴涓蔣浠訛紝榪樺彲浠ョ湅鍋氭槸騫蟲椂鍐欑▼搴忕敤鐨剅ead(),write()鍑芥暟錛屼笉鍚岀殑灞傞潰瀵逛簬榪欏嚑涓瘝鐨勭悊瑙d篃鏄笉涓鏍風殑銆?/p>

鍏堢湅涓涓緝浣庣殑灞傛銆傚鏋滀粠CPU鐨勮搴︾湅錛屽叾瀹炲ぇ閮ㄥ垎鐨処O閮芥槸寮傛鐨勶細鍥犱負CPU鍚姩榪欎釜IO鎿嶄綔鍚庯紝灝卞幓騫插叾瀹冪殑浜嬫儏浜嗭紝涓鐩村埌浜х敓涓涓腑鏂紝鍛婅瘔瀹僆O瀹屾垚浜嗐?br>“Most physical I/O is asynchronous鈥攖he CPU starts the transfer and goes off to do something else until the interrupt arrives. User programs are much easier to write if the I/O operations are blocking鈥攁fter a read system call the program is automatically suspended until the data are available in the buffer. It is up to the operating system to make operations that are actually interrupt-driven look blocking to the user programs.” 錛堝紩鑷?Modern Operating Systems, 2ed錛?/p>

涓嶈繃錛屾湰鏂囧茍涓嶆兂鎺㈢┒閭d箞搴曞眰鐨勪笢涓溿備綔涓虹▼搴忓憳錛屾洿澶氱殑榪樻槸浠庡簲鐢ㄥ眰闈㈡潵鑰冭檻銆傛墍浠ワ紝浠ヤ笅閲嶇偣浠嬬粛鐨勬槸搴旂敤紼嬪簭涓兘澶熼噰鐢ㄧ殑鍥涚IO鏈哄埗銆?br>錛堣鏄庯紝涓嬫枃涓浘鐗囧紩鐢ㄨ嚜 http://www.ibm.com/developerworks/cn/linux/l-async/ 錛?/p>

棣栧厛錛屼粠鏈甯哥敤鍒扮殑錛屼篃鏄渶瀹規槗鐞嗚В鐨勫悓姝ラ樆濉濱O 璇磋搗銆?/p>

鍦ㄨ繖涓ā鍨嬩腑錛屽簲鐢ㄧ▼搴忥紙application錛変負浜嗘墽琛岃繖涓猺ead鎿嶄綔錛屼細璋冪敤鐩稿簲鐨勪竴涓猻ystem call錛屽皢緋葷粺鎺у埗鏉冧氦緇檏ernel錛岀劧鍚庡氨榪涜絳夊緟錛堣繖鍏跺疄灝辨槸琚樆濉炰簡錛夈俴ernel寮濮嬫墽琛岃繖涓猻ystem call錛屾墽琛屽畬姣曞悗浼氬悜搴旂敤紼嬪簭榪斿洖鍝嶅簲錛屽簲鐢ㄧ▼搴忓緱鍒板搷搴斿悗錛屽氨涓嶅啀闃誨錛屽茍榪涜鍚庨潰鐨勫伐浣溿?br> 

 
渚嬪錛?#8220;鍦ㄨ皟鐢?read 緋葷粺璋冪敤鏃訛紝搴旂敤紼嬪簭浼氶樆濉炲茍瀵瑰唴鏍歌繘琛屼笂涓嬫枃鍒囨崲銆傜劧鍚庝細瑙﹀彂璇繪搷浣滐紝褰撳搷搴旇繑鍥炴椂錛堜粠鎴戜滑姝e湪浠庝腑璇誨彇鐨勮澶囦腑榪斿洖錛夛紝鏁版嵁灝辮縐誨姩鍒扮敤鎴風┖闂寸殑緙撳啿鍖轟腑銆傜劧鍚庡簲鐢ㄧ▼搴忓氨浼氳В闄ら樆濉烇紙read 璋冪敤榪斿洖錛夈?#8221;


 涓句竴涓祬鏄劇殑渚嬪瓙錛屽氨濂芥瘮浣犲幓涓涓摱琛屾煖鍙板瓨閽便傞鍏堬紝浣犱細灝嗗瓨閽辯殑鍗曞瓙濉ソ錛岀劧鍚庝氦緇欐煖鍛樸傝繖閲岋紝浣犲氨濂芥瘮鏄痑pplication錛屽崟瀛愬氨鏄皟鐢ㄧ殑 system call錛屾煖鍛樺氨鏄痥ernel銆傛彁浜ゅソ鍗曞瓙鍚庯紝浣犲氨鍧愬湪鏌滃彴鍓嶇瓑錛岀浉褰撲簬寮濮嬭繘琛岀瓑寰呫傛煖鍛樺姙濂戒互鍚庝細緇欎綘涓涓洖鎵э紝琛ㄧず鍔炲ソ浜嗭紝榪欏氨鏄?response銆傜劧鍚庝綘灝卞彲浠ユ嬁鐫鍥炴墽騫插叾瀹冪殑浜嬩簡銆傛敞鎰忥紝榪欎釜鏃跺欙紝濡傛灉浣犲姙瀹屼箣鍚庨┈涓婂幓鏌ヨ處錛屽瓨鐨勯挶宸茬粡鎵撳埌浣犵殑璐︽埛涓婁簡銆傚悗闈綘浼氬彂鐜幫紝榪欑偣寰堥噸瑕併?/p>

鎺ヤ笅鏉ヨ皥鍚屾闈為樆濉濱O 銆?br>鍏堢湅榪欎釜鍥撅紝

 

鍦╨inux涓嬶紝搴旂敤紼嬪簭鍙互閫氳繃璁劇疆鏂囦歡鎻忚堪絎︾殑灞炴_NONBLOCK錛孖/O鎿嶄綔鍙互绔嬪嵆榪斿洖錛屼絾鏄茍涓嶄繚璇両/O鎿嶄綔鎴愬姛銆?br>涔熷氨鏄錛屽綋搴旂敤紼嬪簭璁劇疆浜哋_NONBLOCK涔嬪悗錛屾墽琛寃rite鎿嶄綔錛岃皟鐢ㄧ浉搴旂殑system call錛岃繖涓猻ystem call浼氫粠鍐呮牳涓珛鍗寵繑鍥炪備絾鏄湪榪欎釜榪斿洖鐨勬椂闂寸偣錛屾暟鎹彲鑳借繕娌℃湁琚湡姝g殑鍐欏叆鍒版寚瀹氱殑鍦版柟銆備篃灝辨槸璇達紝kernel鍙槸寰堝揩鐨勮繑鍥炰簡榪欎釜 system call錛堣繖鏍鳳紝搴旂敤紼嬪簭涓嶄細琚繖涓狪O鎿嶄綔blocking錛夛紝浣嗘槸榪欎釜system call鍏蜂綋瑕佹墽琛岀殑浜嬫儏錛堝啓鏁版嵁錛夊彲鑳藉茍娌℃湁瀹屾垚銆傝屽浜庡簲鐢ㄧ▼搴忥紝铏界劧榪欎釜IO鎿嶄綔寰堝揩灝辮繑鍥炰簡錛屼絾鏄畠騫朵笉鐭ラ亾榪欎釜IO鎿嶄綔鏄惁鐪熺殑鎴愬姛浜嗭紝濡傛灉鎯崇煡閬擄紝闇瑕佸簲鐢ㄧ▼搴忎富鍔ㄥ湴鍘婚棶kernel銆?/p>

榪欐涓嶆槸鍘婚摱琛屽瓨閽憋紝鑰屾槸鍘婚摱琛屾眹嬈俱傚悓鏍風殑錛屼綘涔熼渶瑕佸~鍐欐眹嬈懼崟鐒跺悗浜ょ粰鏌滃憳錛屾煖鍛樿繘琛屼竴浜涚畝鍗曠殑鎵嬬畫澶勭悊灝辮兘澶熺粰浣犲洖鎵с備絾鏄紝浣犳嬁鍒板洖鎵у茍涓嶆剰鍛崇潃閽卞凡緇忔墦鍒頒簡瀵規柟鐨勮處涓娿備簨瀹炰笂錛屼竴鑸眹嬈劇殑鍛ㄦ湡澶ф鏄?4涓皬鏃訛紝濡傛灉浣犺浠ュ瓨閽辯殑妯″紡鏉ユ眹嬈劇殑璇濓紝鎰忓懗鐫浣犻渶瑕佸湪閾惰絳?4涓皬鏃訛紝榪欐樉鐒舵槸涓嶇幇瀹炵殑銆傛墍浠ワ紝鍚屾闈為樆濉濱O鍦ㄥ疄闄呯敓媧諱腑涔熸槸鏈夊畠鐨勬剰涔夌殑銆?/p>

鍐嶆潵璋堣皥寮傛闃誨IO 銆?br>鍦╨inux涓紝甯稿父閫氳繃select/poll鏉ュ疄鐜拌繖縐嶆満鍒躲?/p>

 
浠ュ浘涓轟緥錛?br>鍜屼箣鍓嶄竴鏍鳳紝搴旂敤紼嬪簭瑕佹墽琛宺ead鎿嶄綔錛屽洜姝よ皟鐢ㄤ竴涓猻ystem call錛岃繖涓猻ystem call琚紶閫掔粰浜唊ernel銆備絾鍦ㄥ簲鐢ㄧ▼搴忚繖杈癸紝瀹冭皟鐢╯ystem call涔嬪悗錛屽茍涓嶇瓑寰卥ernel榪斿洖response錛岃繖涓鐐規槸鍜屽墠闈袱縐嶆満鍒朵笉涓鏍風殑鍦版柟銆傝繖涔熸槸涓轟粈涔堝畠琚О涓哄紓姝ョ殑鍘熷洜銆備絾鏄負浠涔堢О鍏朵負闃誨鍛紵榪欐槸鍥犱負铏界劧搴旂敤紼嬪簭鏄竴涓紓姝ョ殑鏂瑰紡錛屼絾鏄痵elect()鍑芥暟浼氬皢搴旂敤紼嬪簭闃誨浣忥紝涓鐩寸瓑鍒拌繖涓猻ystem call鏈夌粨鏋滆繑鍥炰簡錛屽啀閫氱煡搴旂敤紼嬪簭銆備篃灝辨槸璇達紝“鍦ㄨ繖縐嶆ā鍨嬩腑錛岄厤緗殑鏄潪闃誨 I/O錛岀劧鍚庝嬌鐢ㄩ樆濉?select 緋葷粺璋冪敤鏉ョ‘瀹氫竴涓?I/O 鎻忚堪絎︿綍鏃舵湁鎿嶄綔銆?#8221;
鎵浠ワ紝浠嶪O鎿嶄綔鐨勫疄闄呮晥鏋滄潵鐪嬶紝寮傛闃誨IO鍜岀涓縐嶅悓姝ラ樆濉濱O鏄竴鏍風殑錛屽簲鐢ㄧ▼搴忛兘鏄竴鐩寸瓑鍒癐O鎿嶄綔鎴愬姛涔嬪悗錛堟暟鎹凡緇忚鍐欏叆鎴栬呰鍙栵級錛屾墠寮濮嬭繘琛屼笅闈㈢殑宸ヤ綔銆傚紓姝ラ樆濉濱O鐨勫ソ澶勫湪浜庝竴涓猻elect鍑芥暟鍙互涓哄涓弿榪扮鎻愪緵閫氱煡錛屾彁楂樹簡騫跺彂鎬с?/p>


鍏充簬鎻愰珮騫跺彂鎬ц繖鐐癸紝鎴戜滑榪樹互閾惰涓轟緥璇存槑銆傛瘮濡傝涓涓摱琛屾煖鍙幫紝鐜板湪鏈?0涓漢鎯沖瓨閽便傛寜鐓х幇鍦ㄩ摱琛岀殑鍋氭硶錛屼竴涓釜鎺掗槦銆傜涓涓漢鍏堝~瀛樻鍗曪紝鐒跺悗鎻愪氦錛岀劧鍚庢煖鍛樺鐞嗭紝鐒跺悗緇欏洖鎵э紝鎴愬姛鍚庡啀杞埌涓嬩竴涓漢銆傚ぇ瀹跺簲璇ラ兘鍦ㄩ摱琛屾帓榪囧錛岃繖鏍風殑嫻佺▼鏄緢鐥涜嫤鐨勩傚鏋滄寜鐓у紓姝ラ樆濉炵殑鏈哄埗錛?0涓漢閮藉~濂藉瓨嬈懼崟錛岀劧鍚庨兘鎻愪氦緇欐煖鍙幫紝鎻愪氦瀹屼箣鍚庢墍鏈夌殑10涓漢灝卞湪閾惰澶у巺絳夊緟銆傝繖鏃跺欎細涓撻棬鏈変釜浜猴紝浠栦細浜嗚В瀛樻鍗曞鐞嗙殑鎯呭喌錛屼竴鏃︽湁瀛樻鍗曞鐞嗗畬姣曪紝浠栦細灝嗗洖鎵т氦緇欑浉搴旂殑姝e湪澶у巺絳夊緟鐨勪漢錛岃繖涓嬁鍒板洖鎵х殑浜哄氨鍙互鍘誨共鍏朵粬鐨勪簨鎯呬簡銆傝屽墠闈㈡彁鍒扮殑榪欎釜涓撲漢錛屽氨瀵瑰簲浜巗elect鍑芥暟銆?/p>

鏈鍚庯紝璋堣皥寮傛闈為樆濉濱O 銆?br>榪欎釜姒傚康鐩稿鍓嶉潰涓や釜鍙嶈屾洿瀹規槗鐞嗚В涓浜涖?/p>

 
濡傚浘鎵紺猴紝搴旂敤紼嬪簭鎻愪氦read璇鋒眰鐨剆ystem call錛岀劧鍚庯紝kernel寮濮嬪鐞嗙浉搴旂殑IO鎿嶄綔錛岃屽悓鏃訛紝搴旂敤紼嬪簭騫朵笉絳塳ernel榪斿洖鍝嶅簲錛屽氨浼氬紑濮嬫墽琛屽叾浠栫殑澶勭悊鎿嶄綔錛堝簲鐢ㄧ▼搴忔病鏈夎IO鎿嶄綔鎵闃誨錛夈傚綋kernel鎵ц瀹屾瘯錛岃繑鍥瀝ead鐨勫搷搴旓紝灝變細浜х敓涓涓俊鍙鋒垨鎵ц涓涓熀浜庣嚎紼嬬殑鍥炶皟鍑芥暟鏉ュ畬鎴愯繖嬈?I/O 澶勭悊榪囩▼銆?/p>


姣斿閾惰瀛橀挶銆傜幇鍦ㄦ煇閾惰鏂板紑閫氫簡涓欏瑰瓨閽變笟鍔°傜敤鎴蜂箣闇瑕佸皢瀛樻鍗曚氦緇欐煖鍙幫紝鐒跺悗鏃犻渶絳夊緟灝卞彲浠ョ寮浜嗐傛煖鍙板姙濂戒互鍚庝細緇欑敤鎴峰彂閫佷竴鏉$煭淇★紝鍛婄煡浜ゆ槗鎴愬姛銆傝繖鏍風敤鎴蜂笉闇瑕佸湪鏌滃彴鍓嶈繘琛岄暱鏃墮棿鐨勭瓑寰咃紝鍚屾椂錛屼篃鑳藉寰楀埌紜垏鐨勬秷鎭煡閬撲氦鏄撳畬鎴愩?/p>


浠庡墠闈㈢殑浠嬬粛涓彲浠ョ湅鍑猴紝鎵璋撶殑鍚屾鍜屽紓姝ワ紝鍦ㄨ繖閲屾寚鐨勬槸application鍜宬ernel涔嬮棿鐨勪氦浜掓柟寮忋傚鏋渁pplication涓嶉渶瑕佺瓑寰?kernel鐨勫洖搴旓紝閭d箞瀹冨氨鏄紓姝ョ殑銆傚鏋渁pplication鎻愪氦瀹孖O璇鋒眰鍚庯紝闇瑕佺瓑寰?#8220;鍥炴墽”錛岄偅涔堝畠灝辨槸鍚屾鐨勩?br>鑰岄樆濉炲拰闈為樆濉烇紝鎸囩殑鏄痑pplication鏄惁絳夊緟IO鎿嶄綔鐨勫畬鎴愩傚鏋渁pplication蹇呴』絳夊埌IO鎿嶄綔瀹為檯瀹屾垚浠ュ悗鍐嶆墽琛屼笅闈㈢殑鎿嶄綔錛岄偅涔堝畠鏄樆濉炵殑銆傚弽涔嬶紝濡傛灉涓嶇瓑寰匢O鎿嶄綔鐨勫畬鎴愬氨寮濮嬫墽琛屽叾瀹冩搷浣滐紝閭d箞瀹冩槸闈為樆濉炵殑銆?/p>

 

鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/historyasamirror/archive/2009/06/15/4270633.aspx



]]>
浣跨敤CString鐨勬柟娉?/title><link>http://m.shnenglu.com/jianlinzhang/archive/2009/07/02/89047.html</link><dc:creator>寮犲緩鏋?/dc:creator><author>寮犲緩鏋?/author><pubDate>Thu, 02 Jul 2009 02:58:00 GMT</pubDate><guid>http://m.shnenglu.com/jianlinzhang/archive/2009/07/02/89047.html</guid><wfw:comment>http://m.shnenglu.com/jianlinzhang/comments/89047.html</wfw:comment><comments>http://m.shnenglu.com/jianlinzhang/archive/2009/07/02/89047.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/jianlinzhang/comments/commentRss/89047.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/jianlinzhang/services/trackbacks/89047.html</trackback:ping><description><![CDATA[鍙互浣跨敤 STL鐨剆tring銆?nbsp;  <br>#include   <string>   <br>using   namespace   std;<br><br>浣嗚偗瀹氫笉濡侰String鍔熻兘寮哄ぇ錛屽叾瀹炲湪闈濵FC紼嬪簭涓嬌鐢–String錛屼篃鏄彲浠ョ殑錛屽叿浣撴柟娉曞涓嬶細<br><br>  涓轟簡浣跨敤CString綾伙紝棣栧厛婧愭枃浠跺繀欏繪槸浠pp緇撳熬鐨勶紝榪欐槸鍥犱負vc榛樿瀵逛笉鍚岀殑鎵╁睍鍚嶉噰鐢ㄤ笉鍚岀殑緙栬瘧鏂規硶鍜岄敊璇鏌ワ紝mfc鐨勬敮鎸佹枃浠禔fx.h鍙湁鐢眂pp涓烘墿灞曞悕鐨勬枃浠跺寘鍚墠鑳藉姝e父緙栬瘧銆傚浜巈xe鍜屽簱瑕侀噰鐢ㄤ笉鍚岀殑鏂瑰紡銆備笅闈㈠垎鍒璁猴細<br><br>  涓銆佸湪闈瀌ll鎴栬卨ib鐨勫伐紼嬮噷錛屼嬌鐢–String闈炲父瀹規槗錛屽彧瑕佷袱姝ワ細<br><br>  1銆佸浜庢病鏈夊寘鍚?lt;Windows.h>鐨剆tdafx.h涓紝鍙鍖呭惈浜哸fx.h鍗沖彲錛岃屽浜庡凡緇忓寘鍚簡<windows.h>鐨剆tdafx.h, 涓瀹氶渶瑕佷繚璇乤fx.h鍦╳indows.h涔嬪墠琚寘鍚傚彟澶栫敱浜庨粯璁ょ殑鎺у埗鍙扮▼搴忛噰鐢ㄧ殑鍗曠嚎紼嬭繍琛屽簱錛屾垜浠鎶婂畠鏀規垚澶氱嚎紼嬪簱錛岃繖浜涘伐浣滃彧瑕佸湪stdafx.h涓繘琛屼慨鏀瑰氨鍙互浜嗭紙璇︾粏淇℃伅鍙互鍙傝冨欐嵎鐨?lt;<mfc 娣卞叆嫻呭嚭>>錛夛紝鎴戜嬌鐢ㄧ殑涓涓猻tdafx.h鐨勪緥瀛愬涓嬶紙榪欐槸涓涓粠鍚戝鐢熸垚鐨剋in32浣岹UI鐨勭▼搴忕殑stdafx.h淇敼鐨勶級錛?br><br>// stdafx銆俬<br>#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)<br>#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_<br><br>#if _MSC_VER > 1000<br>#pragma once<br>#endif // _MSC_VER > 1000<br><br>#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers<br><br>#include <afx.h> // 鍔犲湪榪欓噷<br><br>// Windows Header Files:<br>#include <windows.h><br><br>// C RunTime Header Files<br>#include <stdlib.h><br>#include <malloc.h><br>#include <memory.h><br>#include <tchar.h><br>#ifdef _DEBUG<br>  #pragma comment(lib, "libcmtd.lib")<br>#else<br>  #pragma comment(lib, "libcmt.lib")<br>#endif<br>// Local Header Files<br><br>#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)<br>榪欐牱灝卞彲浠ュ湪紼嬪簭涓甯鎬嬌鐢–String綾諱簡銆?br><br>  浜屻佸湪dll鎴栬卨ib鐨勫伐紼嬩腑錛岀敱浜巃fx.h榛樿甯︿簡涓涓狣llMain錛岃嚧浣胯浣跨敤CString綾婚渶瑕佸嚑涓楠ゃ?br><br>  1銆侀鍏堝拰鎺у埗鍙扮▼搴忎竴鏍鳳紝濡傛灉緙栬瘧鐜璁劇疆浜嗛噰鐢ㄥ崟綰跨▼搴? 瑕佹敼鎴愬綰跨▼搴擄紝榪欎釜鍙互浠庡伐紼嬪睘鎬ч噷榪涜淇敼錛岃緇嗕俊鎭彲浠ュ弬鑰冨欐嵎鐨?lt;<mfc 娣卞叆嫻呭嚭>>. 涓嬮潰緇欏嚭鐨勬槸鎴戝父鐢ㄧ殑鏂瑰紡錛屽彲浠ョ洿鎺ユ妸瀹冨鍒跺埌宸ョ▼閲屼嬌鐢細<br><br>  #ifdef _DEBUG<br>  #pragma comment(lib, "libcmtd.lib")<br>  #else<br>  #pragma comment(lib, "libcmt.lib")<br>  #endif   <br>2銆佸伐紼嬬洰褰曚笅鍒涘緩涓涓狣LLMODUL.CPP鏂囦歡錛屽茍涓旀妸瀹冨姞鍏ュ埌褰撳墠宸ョ▼涓?br><br>  3銆佹墦寮DLLMODUL.CPP鏂囦歡錛岀紪杈戣繖涓枃浠朵負榪欐牱錛?br>  #include "stdafx.h"<br>  #ifdef _DEBUG<br>  #undef THIS_FILE<br>  static char THIS_FILE[] = __FILE__;<br>  #endif<br><br>  #define new DEBUG_NEW<br><br>  /////////////////////////////////////////////////////////////////////////////<br>  // global data<br><br>  // The following symbol used to force inclusion of this module for _USRDLL<br>  #ifdef _X86_<br>  extern "C" { int _afxForceUSRDLL; }<br>  #else<br>  extern "C" { int __afxForceUSRDLL; }<br>  #endif <br>4銆佹墦寮stdafx.h錛屾妸afx.h鍖呭惈鍦╳indows.h鍓嶉潰銆傜幇鍦ㄥ彲浠ユ甯哥殑浣跨敤CString浜嗐? <img src ="http://m.shnenglu.com/jianlinzhang/aggbug/89047.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/jianlinzhang/" target="_blank">寮犲緩鏋?/a> 2009-07-02 10:58 <a href="http://m.shnenglu.com/jianlinzhang/archive/2009/07/02/89047.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬 vs2005 娣誨姞綾繪垨鑰呭彉閲?鍑洪敊闂鐨勮В鍐蟲柟妗?/title><link>http://m.shnenglu.com/jianlinzhang/archive/2009/05/26/85768.html</link><dc:creator>寮犲緩鏋?/dc:creator><author>寮犲緩鏋?/author><pubDate>Tue, 26 May 2009 02:11:00 GMT</pubDate><guid>http://m.shnenglu.com/jianlinzhang/archive/2009/05/26/85768.html</guid><wfw:comment>http://m.shnenglu.com/jianlinzhang/comments/85768.html</wfw:comment><comments>http://m.shnenglu.com/jianlinzhang/archive/2009/05/26/85768.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/jianlinzhang/comments/commentRss/85768.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/jianlinzhang/services/trackbacks/85768.html</trackback:ping><description><![CDATA[褰撳湪vs2005涓坊鍔犵被鎴栬呭彉閲忔槸浼氬嚭鐜?“褰撳墠欏甸潰鑴氭湰鍙戠敓閿欒”鐨勬彁紺猴紝濡備笅鍥炬墍紺猴細<img border=0 alt="" src="http://m.shnenglu.com/images/cppblog_com/jianlinzhang/1.jpg" width=625 height=533><br><br>璇ヨВ鍐蟲柟妗堝涓嬶細<br>錛?錛変笅杞絭s2005 琛ヤ竵,涓嬭澆閾炬帴涓猴細<a target=_blank><u><font color=#810081>Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)</font></u></a> 錛屽畨瑁呬箣銆傘傘?br>錛?錛変笅杞介渶瑕佷慨鏀規敞鍐岃〃鐨勪竴涓伐紼?涓嬭澆鍦板潃涓猴細<a >http://download.csdn.net/source/1145363</a>錛岃繍琛屼箣銆傘傘?br>鑷蟲錛岄棶棰樺氨宸茶В鍐籌紒<br><br>褰撶劧寮曡搗璇ラ棶棰樼殑涓昏鍘熷洜鏄敱浜嶪E8鐨勪嬌鐢紝濡傛灉浣犺寰椾互涓婃柟娉曟瘮杈冨鏉傦紝鍙洿鎺ュ嵏杞芥帀IE8.銆傘傘?br><br>鍦ㄦ錛屾垜瑕佹劅璋?a >http://jiangsheng.spaces.live.com/blog/cns!1BE894DEAF296E0A!878.entry</a> 鏂囩珷鐨勫崥涓匯傘傘傘? <img src ="http://m.shnenglu.com/jianlinzhang/aggbug/85768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/jianlinzhang/" target="_blank">寮犲緩鏋?/a> 2009-05-26 10:11 <a href="http://m.shnenglu.com/jianlinzhang/archive/2009/05/26/85768.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>socket 鍚屾 寮傛 闃誨 闈為樆濉?/title><link>http://m.shnenglu.com/jianlinzhang/archive/2009/05/18/83297.html</link><dc:creator>寮犲緩鏋?/dc:creator><author>寮犲緩鏋?/author><pubDate>Mon, 18 May 2009 09:36:00 GMT</pubDate><guid>http://m.shnenglu.com/jianlinzhang/archive/2009/05/18/83297.html</guid><wfw:comment>http://m.shnenglu.com/jianlinzhang/comments/83297.html</wfw:comment><comments>http://m.shnenglu.com/jianlinzhang/archive/2009/05/18/83297.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/jianlinzhang/comments/commentRss/83297.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/jianlinzhang/services/trackbacks/83297.html</trackback:ping><description><![CDATA[<p>鍚屾錛氬嚱鏁版病鏈夋墽琛屽畬涓嶈繑鍥烇紝綰跨▼琚寕璧?</p> <p>闃誨錛氭病鏈夋敹瀹屾暟鎹嚱鏁頒笉榪斿洖錛岀嚎紼嬩篃琚寕璧?/p> <p>寮傛錛氬嚱鏁扮珛鍗寵繑鍥烇紝閫氳繃浜嬩歡鎴栨槸淇″彿閫氱煡璋冪敤鑰?/p> <p>闈為樆濉烇細鍑芥暟绔嬪嵆榪斿洖錛岄氳繃select閫氱煡璋冪敤鑰?/p> <p>榪欐牱鐪嬫潵寮傛鍜岄潪闃誨鏈変粈涔堝尯鍒憿錛?/p> <p>寮傛=闈為樆濉烇紵</p> <p>鍚屾鏄湪鎿嶄綔緋葷粺灞傞潰涓婏紝闃誨鏄湪濂楁帴瀛椾笂錛?/p> <p>Reactor鏄悓姝?Proactor鏄紓姝ワ紵</p> <p><strong>鍥炵瓟錛?/strong></p> <p>鍚屾銆佸紓姝ャ侀樆濉炲拰闈為樆濉炵殑姒傚康</p> <p>銆銆鍦ㄨ繘琛岀綉緇滅紪紼嬫椂錛屾垜浠父甯歌鍒板悓姝ャ佸紓姝ャ侀樆濉炲拰闈為樆濉炲洓縐嶈皟鐢ㄦ柟寮忋傝繖浜涙柟寮忓郊姝ゆ蹇靛茍涓嶅ソ鐞嗚В銆備笅闈㈡槸鎴戝榪欎簺鏈鐨勭悊瑙c?/p> <p><strong>鍚屾</strong><br>銆銆鎵璋撳悓姝ワ紝灝辨槸鍦ㄥ彂鍑轟竴涓姛鑳借皟鐢ㄦ椂錛屽湪娌℃湁寰楀埌緇撴灉涔嬪墠錛岃璋冪敤灝變笉榪斿洖銆傛寜鐓ц繖涓畾涔夛紝鍏跺疄緇濆ぇ澶氭暟鍑芥暟閮芥槸鍚屾璋冪敤錛堜緥濡俿in, isdigit絳夛級銆備絾鏄竴鑸岃█錛屾垜浠湪璇村悓姝ャ佸紓姝ョ殑鏃跺欙紝鐗規寚閭d簺闇瑕佸叾浠栭儴浠跺崗浣滄垨鑰呴渶瑕佷竴瀹氭椂闂村畬鎴愮殑浠誨姟銆傛渶甯歌鐨勪緥瀛愬氨鏄?SendMessage銆傝鍑芥暟鍙戦佷竴涓秷鎭粰鏌愪釜紿楀彛錛屽湪瀵規柟澶勭悊瀹屾秷鎭箣鍓嶏紝榪欎釜鍑芥暟涓嶈繑鍥炪傚綋瀵規柟澶勭悊瀹屾瘯浠ュ悗錛岃鍑芥暟鎵嶆妸娑堟伅澶勭悊鍑芥暟鎵榪斿洖鐨?LRESULT鍊艱繑鍥炵粰璋冪敤鑰呫?/p> <p><strong>寮傛</strong><br>銆銆寮傛鐨勬蹇靛拰鍚屾鐩稿銆傚綋涓涓紓姝ヨ繃紼嬭皟鐢ㄥ彂鍑哄悗錛岃皟鐢ㄨ呬笉鑳界珛鍒誨緱鍒扮粨鏋溿傚疄闄呭鐞嗚繖涓皟鐢ㄧ殑閮ㄤ歡鍦ㄥ畬鎴愬悗錛岄氳繃鐘舵併侀氱煡鍜屽洖璋冩潵閫氱煡璋冪敤鑰呫備互 CAsycSocket綾諱負渚嬶紙娉ㄦ剰錛孋Socket浠嶤AsyncSocket媧劇敓錛屼絾鏄搗鍔熻兘宸茬粡鐢卞紓姝ヨ漿鍖栦負鍚屾錛夛紝褰撲竴涓鎴風閫氳繃璋冪敤 Connect鍑芥暟鍙戝嚭涓涓繛鎺ヨ姹傚悗錛岃皟鐢ㄨ呯嚎紼嬬珛鍒誨彲浠ユ湞涓嬭繍琛屻傚綋榪炴帴鐪熸寤虹珛璧鋒潵浠ュ悗錛宻ocket搴曞眰浼氬彂閫佷竴涓秷鎭氱煡璇ュ璞°傝繖閲屾彁鍒版墽琛?閮ㄤ歡鍜岃皟鐢ㄨ呴氳繃涓夌閫斿緞榪斿洖緇撴灉錛氱姸鎬併侀氱煡鍜屽洖璋冦傚彲浠ヤ嬌鐢ㄥ摢涓縐嶄緷璧栦簬鎵ц閮ㄤ歡鐨勫疄鐜幫紝闄ら潪鎵ц閮ㄤ歡鎻愪緵澶氱閫夋嫨錛屽惁鍒欎笉鍙楄皟鐢ㄨ呮帶鍒躲傚鏋滄墽琛岄儴 浠剁敤鐘舵佹潵閫氱煡錛岄偅涔堣皟鐢ㄨ呭氨闇瑕佹瘡闅斾竴瀹氭椂闂存鏌ヤ竴嬈★紝鏁堢巼灝卞緢浣庯紙鏈変簺鍒濆澶氱嚎紼嬬紪紼嬬殑浜猴紝鎬誨枩嬈㈢敤涓涓驚鐜幓媯鏌ユ煇涓彉閲忕殑鍊鹼紝榪欏叾瀹炴槸涓縐嶅緢涓ラ噸 鐨勯敊璇級銆傚鏋滄槸浣跨敤閫氱煡鐨勬柟寮忥紝鏁堢巼鍒欏緢楂橈紝鍥犱負鎵ц閮ㄤ歡鍑犱箮涓嶉渶瑕佸仛棰濆鐨勬搷浣溿傝嚦浜庡洖璋冨嚱鏁幫紝鍏跺疄鍜岄氱煡娌″お澶氬尯鍒?/p> <p><strong>闃誨</strong><br>銆銆闃誨璋冪敤鏄寚璋冪敤緇撴灉榪斿洖涔嬪墠錛屽綋鍓嶇嚎紼嬩細琚寕璧楓傚嚱鏁板彧鏈夊湪寰楀埌緇撴灉涔嬪悗鎵嶄細榪斿洖銆傛湁浜轟篃璁鎬細鎶婇樆濉炶皟鐢ㄥ拰鍚屾璋冪敤絳夊悓璧鋒潵錛屽疄闄呬笂浠栨槸涓嶅悓鐨勩傚浜庡悓 姝ヨ皟鐢ㄦ潵璇達紝寰堝鏃跺欏綋鍓嶇嚎紼嬭繕鏄縺媧葷殑錛屽彧鏄粠閫昏緫涓婂綋鍓嶅嚱鏁版病鏈夎繑鍥炶屽凡銆備緥濡傦紝鎴戜滑鍦–Socket涓皟鐢≧eceive鍑芥暟錛屽鏋滅紦鍐插尯涓病鏈夋暟 鎹紝榪欎釜鍑芥暟灝變細涓鐩寸瓑寰咃紝鐩村埌鏈夋暟鎹墠榪斿洖銆傝屾鏃訛紝褰撳墠綰跨▼榪樹細緇х畫澶勭悊鍚勭鍚勬牱鐨勬秷鎭傚鏋滀富紿楀彛鍜岃皟鐢ㄥ嚱鏁板湪鍚屼竴涓嚎紼嬩腑錛岄櫎闈炰綘鍦ㄧ壒孌婄殑鐣岄潰鎿?浣滃嚱鏁頒腑璋冪敤錛屽叾瀹炰富鐣岄潰榪樻槸搴旇鍙互鍒鋒柊銆俿ocket鎺ユ敹鏁版嵁鐨勫彟澶栦竴涓嚱鏁皉ecv鍒欐槸涓涓樆濉炶皟鐢ㄧ殑渚嬪瓙銆傚綋socket宸ヤ綔鍦ㄩ樆濉炴ā寮忕殑鏃跺欙紝 濡傛灉娌℃湁鏁版嵁鐨勬儏鍐典笅璋冪敤璇ュ嚱鏁幫紝鍒欏綋鍓嶇嚎紼嬪氨浼氳鎸傝搗錛岀洿鍒版湁鏁版嵁涓烘銆?/p> <p><strong>闈為樆濉?/strong><br>銆銆闈為樆濉炲拰闃誨鐨勬蹇電浉瀵瑰簲錛屾寚鍦ㄤ笉鑳界珛鍒誨緱鍒扮粨鏋滀箣鍓嶏紝璇ュ嚱鏁頒笉浼氶樆濉炲綋鍓嶇嚎紼嬶紝鑰屼細绔嬪埢榪斿洖銆?/p> <p>銆銆瀵硅薄鐨勯樆濉炴ā寮忓拰闃誨鍑芥暟璋冪敤<br>銆銆瀵硅薄鏄惁澶勪簬闃誨妯″紡鍜屽嚱鏁版槸涓嶆槸闃誨璋冪敤鏈夊緢寮虹殑鐩稿叧鎬э紝浣嗘槸騫朵笉鏄竴涓瀵瑰簲鐨勩傞樆濉炲璞′笂鍙互鏈夐潪闃誨鐨勮皟鐢ㄦ柟寮忥紝鎴戜滑鍙互閫氳繃涓瀹氱殑API鍘昏疆璇㈢姸 鎬侊紝鍦ㄩ傚綋鐨勬椂鍊欒皟鐢ㄩ樆濉炲嚱鏁幫紝灝卞彲浠ラ伩鍏嶉樆濉炪傝屽浜庨潪闃誨瀵硅薄錛岃皟鐢ㄧ壒孌婄殑鍑芥暟涔熷彲浠ヨ繘鍏ラ樆濉炶皟鐢ㄣ傚嚱鏁皊elect灝辨槸榪欐牱鐨勪竴涓緥瀛愩?/p> <p><strong>闃誨閫氫俊 </strong></p> <p>--------------------------------------------------------------------------------</p> <p>銆銆閫氳繃閲嶅彔閫氫俊鍜岃綆楀湪璁稿緋葷粺鑳芥彁楂樻ц兘銆傜敱涓涓櫤鑳介氫俊鎺у埗鍣ㄨ嚜鍔ㄥ湴鎵ц閫氫俊鐨勭郴緇熸槸鐪熷疄鐨勩傝交錛嶉噸綰跨儲鏄彇寰楄繖縐嶉噸鍙犵殑涓縐嶆満鍒躲傚鑷村ソ鎬ц兘鐨?涓涓彲閫夌殑鏈哄埗鏄嬌鐢ㄩ潪闃誨閫氫俊銆備竴涓樆濉炲彂閫佸紑濮嬭皟鐢ㄥ垵濮嬪寲榪欎釜鍙戦佹搷浣滐紝浣嗕笉瀹屾垚瀹冦傚湪榪欎釜娑堟伅琚粠榪欎釜鍙戦佺紦瀛樻嫹鍑轟互鍓嶏紝榪欎釜鍙戦佸紑濮嬭皟鐢ㄥ皢榪斿洖銆?闇瑕佷竴涓嫭绔嬬殑“鍙戦佸畬鎴?#8221;璋冪敤瀹屾垚榪欎釜閫氫俊錛屼緥濡傦紝媯楠屼粠鍙戦佺紦瀛樻嫹鍑虹殑鏁版嵁銆傜敤閫傚綋鐨勭‖浠訛紝鍦ㄥ彂閫佽鍒濆鍖栧悗鍜屽畠瀹屾垚浠ュ墠錛屾潵鑷彂閫佽呭瓨鍌ㄧ殑鏁版嵁杞崲 鍙互鍜屽湪鍙戦佽呭畬鎴愮殑璁$畻鍚屾椂榪涜銆傜被浼煎湴錛屼竴涓潪闃誨“鎺ユ敹寮濮嬭皟鐢?#8221;鍒濆鍖栬繖涓帴鏀舵搷浣? 浣嗕笉瀹屾垚瀹冦傚湪涓涓秷鎭瀛樺叆榪欎釜鎺ユ敹緙撳瓨浠ュ墠錛岃繖涓皟鐢ㄥ皢榪斿洖銆傞』瑕佷竴涓嫭绔嬬殑“鎺ユ敹瀹屾垚”璋冪敤瀹屾垚榪欎釜鎺ユ敹鎿嶄綔錛屽茍媯楠岃鎺ユ敹鍒拌繖涓帴鏀剁紦瀛樼殑鏁版嵁銆?鐢ㄩ傚綋鐨勭‖浠訛紝鍦ㄦ帴鏀舵搷浣滃垵濮嬪寲鍚庡拰瀹冨畬鎴愪互鍓嶏紝鍒版帴鏀惰呭瓨鍌ㄧ殑鏁版嵁杞崲鍙互鍜岃綆楀悓鏃惰繘琛屻傞潪闃誨鎺ユ敹鐨勪嬌鐢ㄨ櫧鐫淇℃伅杈冩棭鍦板湪鎺ユ敹緙撳瓨浣嶇疆琚彁渚涳紝涔熷彲 浠ラ伩鍏嶇郴緇熺紦瀛樺拰瀛樺偍鍣ㄥ埌瀛樺偍鍣ㄦ嫹璐濄?/p> <p>銆銆闈為樆濉炲彂閫佸紑濮嬭皟鐢ㄨ兘浣跨敤涓庨樆濉炲彂閫佷竴鏍風殑鍥涚妯″紡: 鏍囧噯, 緙撳瓨, 鍚屾鍜屽噯澶囧ソ妯″紡銆傝繖浜涘叿鏈夊悓鏍風殑鎰忎箟銆傛棤璁轟竴涓尮閰嶆帴鏀舵槸鍚﹀凡鐧誨叆錛岃兘寮濮嬮櫎“鍑嗗濂?#8221;浠ュ鐨勬墍鏈夋ā寮忕殑鍙戦侊紱鍙涓涓尮閰嶆帴鏀跺凡鐧誨叆錛屽氨鑳藉紑濮嬩竴涓潪 闃誨“鍑嗗濂?#8221;鍙戦併傚湪鎵鏈夋儏鍐典笅錛屽彂閫佸紑濮嬭皟鐢ㄦ槸灞閮ㄧ殑錛氭棤璁哄叾瀹冭繘紼嬬殑鐘舵佸浣曪紝瀹冪珛鍒昏繑鍥炪傚鏋滆繖涓皟鐢ㄤ嬌寰椾竴浜涚郴緇熻祫婧愮敤瀹岋紝閭d箞瀹冨皢澶辮觸騫惰繑鍥?涓涓敊璇唬鐮併傞珮璐ㄩ噺鐨凪PI瀹炵幇搴斾繚璇佽繖縐嶆儏鍐靛彧鍦?#8220;鐥呮?#8221;鏃跺彂鐢熴傚嵆錛屼竴涓狹PI瀹炵幇灝嗚兘鏀寔澶ф暟閲忔寕璧烽潪闃誨鎿嶄綔銆傘銆</p> <p>銆銆褰撴暟鎹凡琚粠鍙戦佺紦瀛樻嫹鍑烘椂錛岃繖涓彂閫佸畬鎴愯皟鐢ㄨ繑鍥炪傚畠鍙互甯︽湁闄勫姞鐨勬剰涔夛紝榪欏彇鍐充簬鍙戦佹ā寮忋傘</p> <p>銆銆濡傛灉鍙戦佹ā寮忔槸“鍚屾鐨?#8221;錛岄偅涔堝彧鏈変竴涓尮閰嶆帴鏀跺凡寮濮嬭繖涓彂閫佹墠鑳藉畬鎴愩傚嵆錛屼竴涓帴鏀跺凡琚櫥鍏ワ紝騫跺凡鍜岃繖涓彂閫佸尮閰嶃傝繖鏃訛紝榪欎釜鍙戦佸畬鎴愯皟鐢ㄦ槸闈?灞閮ㄧ殑銆傛敞鎰忥紝鍦ㄦ帴鏀跺畬鎴愯皟鐢ㄥ彂鐢熶互鍓嶏紝濡傛灉涓涓悓姝ャ侀潪闃誨鍙戦佸拰涓涓潪闃誨鎺ユ敹鍖歸厤, 瀹冨彲浠ュ畬鎴愩?鍙戦佽呬竴“鐭ラ亾”杞崲灝嗙粨鏉燂紝瀹冨氨鑳藉畬鎴愶紝浣嗗湪鎺ユ敹鑰?#8220;鐭ラ亾”杞崲灝嗙粨鏉熶互鍓?銆傘銆</p> <p>銆銆濡傛灉鍙戦佹ā寮忔槸“緙撳瓨”錛屽茍娌℃湁鎸傝搗鎺ユ敹錛岄偅涔堟秷鎭繀欏昏緙撳瓨銆傝繖鏃訛紝鍙戦佸畬鎴愯皟鐢ㄦ槸灞閮ㄧ殑錛岃屼笖鏃犺涓涓尮閰嶆帴鏀剁殑鐘舵佸浣曪紝瀹冨繀欏繪垚鍔熴傘銆</p> <p>銆銆濡傛灉鍙戦佹ā寮忔槸鏍囧噯鐨勶紝鍚屾椂榪欎釜娑堟伅琚紦瀛橈紝閭d箞鍦ㄤ竴涓尮閰嶆帴鏀跺彂鐢熶互鍓嶏紝鍙戦佺粨鏉熻皟鐢ㄥ彲浠ヨ繑鍥炪傚彟涓鏂歸潰錛屽彂閫佸畬鎴愮洿鍒頒竴涓尮閰嶆帴鏀跺彂鐢熸墠鍙互瀹屾垚錛屽茍涓旇繖涓秷鎭凡琚嫹鍒版帴鏀剁紦瀛樸傘銆</p> <p>銆銆闈為樆濉炲彂閫佽兘琚敤闃誨鎺ユ敹鍖歸厤錛屽弽榪囨潵涔熷彲浠ャ?/p> <p>銆銆緇欑敤鎴風殑寤鴻. 涓涓彂閫佹搷浣滅殑瀹屾垚, 瀵逛簬鏍囧噯妯″紡鍙互琚歡榪? 瀵逛簬鍚岄儴妯″紡蹇呴』寤惰繜, 鐩村埌涓涓尮閰嶆帴鏀剁櫥鍏ャ傝繖涓ょ鎯呭喌涓嬮潪闃誨鍙戦佺殑浣跨敤鍏佽鍙戦佽呮彁鍓嶄簬鎺ユ敹鑰呰繘琛岋紝浠ヤ究鍦ㄤ袱榪涚▼鐨勯熷害鏂歸潰錛岃綆楁洿瀹瑰繊娉㈠姩銆傘銆</p> <p>銆銆緙撳瓨鍜屽噯澶囧ソ妯″紡涓殑闈為樆濉炲彂閫佹湁涓涓洿鏈夐檺鐨勫獎鍝嶃備竴鍙兘涓涓潪闃誨鍙戦佸皢榪斿洖錛岃屼竴涓樆濉炲彂閫佸皢鍦ㄦ暟鎹浠庡彂閫佽呭瓨鍌ㄦ嫹鍑哄悗榪斿洖銆傚彧瑕佸湪鏁版嵁鎷瘋礉鑳藉拰璁$畻鍚屾椂鐨勬儏鍐典笅錛岄潪闃誨鍙戦佺殑浣跨敤鏈変紭鐐廣?/p> <p>銆銆娑堟伅鍙戦佹ā寮忛殣鍚潃鐢卞彂閫佽呭垵濮嬪寲閫氫俊銆傚綋鍙戦佽呭垵濮嬪寲閫氫俊(鏁版嵁琚洿鎺ョЩ鍒版帴鏀剁紦瀛? 騫朵笉瑕佹眰鎺掗槦涓涓寕璧峰彂閫佽姹? 鏃訛紝濡傛灉涓涓帴鏀跺凡鐧誨叆錛岃繖涓氫俊涓鑸皢鏈夎緝浣庣殑棰濆璐熸媴銆備絾鏄紝鍙湪鍖歸厤鍙戦佸凡鍙戠敓鍚庯紝涓涓帴鏀舵搷浣滆兘瀹屾垚銆傚綋闈為樆濉炴帴鏀剁瓑寰呭彂閫佹椂錛屾病鏈夐樆濉炴帴鏀訛紝瀹?鐨勪嬌鐢ㄥ厑璁稿緱鍒拌緝浣庣殑閫氫俊棰濆璐熸媴銆傦紙緇欑敤鎴風殑寤鴻緇撴潫錛夈?/p> <br><br>鍘熸枃鍑哄錛?a >http://www.kuqin.com/networkprog/20090221/35947.html</a> <img src ="http://m.shnenglu.com/jianlinzhang/aggbug/83297.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/jianlinzhang/" target="_blank">寮犲緩鏋?/a> 2009-05-18 17:36 <a href="http://m.shnenglu.com/jianlinzhang/archive/2009/05/18/83297.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>OpenMP騫惰紼嬪簭璁捐http://m.shnenglu.com/jianlinzhang/archive/2009/05/14/82906.html寮犲緩鏋?/dc:creator>寮犲緩鏋?/author>Thu, 14 May 2009 01:11:00 GMThttp://m.shnenglu.com/jianlinzhang/archive/2009/05/14/82906.htmlhttp://m.shnenglu.com/jianlinzhang/comments/82906.htmlhttp://m.shnenglu.com/jianlinzhang/archive/2009/05/14/82906.html#Feedback0http://m.shnenglu.com/jianlinzhang/comments/commentRss/82906.htmlhttp://m.shnenglu.com/jianlinzhang/services/trackbacks/82906.html
OpenMP鐨勬寚浠ゆ湁浠ヤ笅涓浜涳細
       parallel錛岀敤鍦ㄤ竴涓唬鐮佹涔嬪墠錛岃〃紺鴻繖孌典唬鐮佸皢琚涓嚎紼嬪茍琛屾墽琛?/div>
       for錛岀敤浜巉or寰幆涔嬪墠錛屽皢寰幆鍒嗛厤鍒板涓嚎紼嬩腑騫惰鎵ц錛屽繀欏諱繚璇佹瘡嬈″驚鐜箣闂存棤鐩稿叧鎬с?/div>
       parallel for錛?parallel 鍜?for璇彞鐨勭粨鍚堬紝涔熸槸鐢ㄥ湪涓涓猣or寰幆涔嬪墠錛岃〃紺篺or寰幆鐨勪唬鐮佸皢琚涓嚎紼嬪茍琛屾墽琛屻?/div>
       sections錛岀敤鍦ㄥ彲鑳戒細琚茍琛屾墽琛岀殑浠g爜孌典箣鍓?/div>
       parallel sections錛宲arallel鍜宻ections涓や釜璇彞鐨勭粨鍚?/div>
       critical錛岀敤鍦ㄤ竴孌典唬鐮佷復鐣屽尯涔嬪墠
       single錛岀敤鍦ㄤ竴孌靛彧琚崟涓嚎紼嬫墽琛岀殑浠g爜孌典箣鍓嶏紝琛ㄧず鍚庨潰鐨勪唬鐮佹灝嗚鍗曠嚎紼嬫墽琛屻?/div>
       flush錛?/div>
barrier錛岀敤浜庡茍琛屽尯鍐呬唬鐮佺殑綰跨▼鍚屾錛屾墍鏈夌嚎紼嬫墽琛屽埌barrier鏃惰鍋滄錛岀洿鍒版墍鏈夌嚎紼嬮兘鎵ц鍒癰arrier鏃舵墠緇х畫寰涓嬫墽琛屻?/div>
atomic錛岀敤浜庢寚瀹氫竴鍧楀唴瀛樺尯鍩熻鍒跺姩鏇存柊
master錛岀敤浜庢寚瀹氫竴孌典唬鐮佸潡鐢變富綰跨▼鎵ц
ordered錛?鐢ㄤ簬鎸囧畾騫惰鍖哄煙鐨勫驚鐜寜欏哄簭鎵ц
threadprivate, 鐢ㄤ簬鎸囧畾涓涓彉閲忔槸綰跨▼縐佹湁鐨勩?/div>
OpenMP闄や笂榪版寚浠ゅ錛岃繕鏈変竴浜涘簱鍑芥暟錛屼笅闈㈠垪鍑哄嚑涓父鐢ㄧ殑搴撳嚱鏁幫細
       omp_get_num_procs, 榪斿洖榪愯鏈嚎紼嬬殑澶氬鐞嗘満鐨勫鐞嗗櫒涓暟銆?/div>
       omp_get_num_threads, 榪斿洖褰撳墠騫惰鍖哄煙涓殑媧誨姩綰跨▼涓暟銆?/div>
       omp_get_thread_num, 榪斿洖綰跨▼鍙?/div>
       omp_set_num_threads, 璁劇疆騫惰鎵ц浠g爜鏃剁殑綰跨▼涓暟
omp_init_lock, 鍒濆鍖栦竴涓畝鍗曢攣
omp_set_lock錛?涓婇攣鎿嶄綔
omp_unset_lock錛?瑙i攣鎿嶄綔錛岃鍜宱mp_set_lock鍑芥暟閰嶅浣跨敤銆?/div>
omp_destroy_lock錛?omp_init_lock鍑芥暟鐨勯厤瀵規搷浣滃嚱鏁幫紝鍏抽棴涓涓攣
 
OpenMP鐨勫瓙鍙ユ湁浠ヤ笅涓浜?/div>
private, 鎸囧畾姣忎釜綰跨▼閮芥湁瀹冭嚜宸辯殑鍙橀噺縐佹湁鍓湰銆?/span>
firstprivate錛?/span>鎸囧畾姣忎釜綰跨▼閮芥湁瀹冭嚜宸辯殑鍙橀噺縐佹湁鍓湰錛屽茍涓斿彉閲忚琚戶鎵夸富綰跨▼涓殑鍒濆箋?/span>
lastprivate錛?/span>涓昏鏄敤鏉ユ寚瀹氬皢綰跨▼涓殑縐佹湁鍙橀噺鐨勫煎湪騫惰澶勭悊緇撴潫鍚庡鍒跺洖涓葷嚎紼嬩腑鐨勫搴斿彉閲忋?/span>
reduce錛?/span>鐢ㄦ潵鎸囧畾涓涓垨澶氫釜鍙橀噺鏄鏈夌殑錛屽茍涓斿湪騫惰澶勭悊緇撴潫鍚庤繖浜涘彉閲忚鎵ц鎸囧畾鐨勮繍綆椼?/span>
nowait錛?/span>蹇界暐鎸囧畾涓殫鍚殑絳夊緟
num_threads錛?/span>鎸囧畾綰跨▼鐨勪釜鏁?/span>
schedule錛?/span>鎸囧畾濡備綍璋冨害for寰幆榪唬
shared錛?/span>鎸囧畾涓涓垨澶氫釜鍙橀噺涓哄涓嚎紼嬮棿鐨勫叡浜彉閲?/span>
ordered錛?/span>鐢ㄦ潵鎸囧畾for寰幆鐨勬墽琛岃鎸夐『搴忔墽琛?/span>
copyprivate錛?/span>鐢ㄤ簬single鎸囦護涓殑鎸囧畾鍙橀噺涓哄涓嚎紼嬬殑鍏變韓鍙橀噺
copyin錛?/span>鐢ㄦ潵鎸囧畾涓涓?/span>threadprivate鐨勫彉閲忕殑鍊艱鐢ㄤ富綰跨▼鐨勫艱繘琛屽垵濮嬪寲銆?/span>
default錛?/span>鐢ㄦ潵鎸囧畾騫惰澶勭悊鍖哄煙鍐呯殑鍙橀噺鐨勪嬌鐢ㄦ柟寮忥紝緙虹渷鏄?/span>shared



















鏂囩珷鍑哄錛?br>http://blog.csdn.net/drzhouweiming/archive/2006/08/28/1131537.aspx
http://blog.csdn.net/drzhouweiming/archive/2006/09/04/1175848.aspx

]]>office 2007姝g増楠岃瘉http://m.shnenglu.com/jianlinzhang/archive/2009/05/11/82532.html寮犲緩鏋?/dc:creator>寮犲緩鏋?/author>Mon, 11 May 2009 01:23:00 GMThttp://m.shnenglu.com/jianlinzhang/archive/2009/05/11/82532.htmlhttp://m.shnenglu.com/jianlinzhang/comments/82532.htmlhttp://m.shnenglu.com/jianlinzhang/archive/2009/05/11/82532.html#Feedback7http://m.shnenglu.com/jianlinzhang/comments/commentRss/82532.htmlhttp://m.shnenglu.com/jianlinzhang/services/trackbacks/82532.htmlKeygen:涓嬭澆鏂囦歡 鐐瑰嚮涓嬭澆姝ゆ枃浠?/font>
VBQF2-6K94C-KCT26-R4XQF-C2QQ8
GM26K-7MYV2-338DJ-4DKMG-DTJBJ
CTKXX-M97FT-89PW2-DHKD3-74MYJ(Enterprise瀵嗛挜,2009-03-25 10:29:53嫻嬭瘯閫氳繃楠岃瘉)

閲嶆柊杈撳叆搴忓垪鍙風殑鏂規硶:HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Registration\{90120000-0030-0000-0000-0000000FF1CE},鍒犻櫎瀛愰敭DigitalProductID,ProductName鍙奝roductID.閲嶆柊鎵撳紑Office灝變細鎻愮ず杈撳叆搴忓垪鍙?

宸茬粡瀹夎Office2007鐨勭洿鎺ヨ繘琛屼互涓嬫楠?

2:鎵撳紑寰蔣姝g増楠岃瘉鐨勭綉欏?
http://www.microsoft.com/genuine/default.aspx?displaylang=zh-cn

3:楠岃瘉office2007,瀹夎楠岃瘉鎺т歡,楠岃瘉鏄劇ず澶辮觸!

4:鐢ㄩ檮浠跺唴OGACheckControl.dll鏂囦歡:鐗堟湰鍙蜂負:1.7.105.14,鏇挎崲windows\system32\ 鐩綍涓嬪悓鍚嶆枃浠躲?br>灝哋GACheckControl.dll鏂囦歡澶嶅埗綺樿創鍒皐indows\system32\ 鐩綍涓嬪嵆鍙浛鎹?64浣嶇郴緇熶負system64\鐩綍涓?
娉ㄦ剰:OGACheckControl.dll鏂囦歡鐨勭増鏈彿涓庣郴緇焪indows\system32\涓嬪悓鍚嶆枃浠剁増鏈彿涓鑷?br>Dll涓嬭澆:涓嬭澆鏂囦歡 鐐瑰嚮涓嬭澆姝ゆ枃浠?/font>

5:鍐嶆楠岃瘉office2007,閫氳繃寰蔣鐨勬鐗堥獙璇?

娉ㄦ剰:2008騫?0鏈?0鏃ュ井杞洿鏂癘GACheckControl.dll鏂囦歡,鏈鏂扮増鏈彿涓?1.7.105.14,鍦ㄦ湭鏇挎崲OGACheckControl.dll鏂囦歡涓嶈兘閫氳繃姝g増楠岃瘉鍓嶄笉瑕佹墦寮浠諱綍office2007緇勪歡,浠ュ厤鍑虹幇"鏄熸槦"璀﹀憡!

鐗堟湰鍙蜂負"1.7.111.0"鐨凮GACheckControl.dll鏂囦歡:涓嬭澆鏂囦歡 鐐瑰嚮涓嬭澆姝ゆ枃浠?/font>

宸茬粡涓嶅垢涓嫑鏈?鏄熸槦"璀﹀憡鐨?璇風敤闄勪歡涓璒GA鍗歌澆宸ュ叿,瑙e帇鍚庣偣榧犳爣鍙抽敭涓嵏杞?鐩存帴鐐瑰嚮涓嶈兘鍗歌澆,鍗歌澆OGACheckControl.dll鏂囦歡,閲嶅惎璁$畻鏈?鏇存崲office瀹夎搴忓垪鍙?鐢ㄩ檮浠朵腑OGACheckControl.dll閲嶆柊鏇挎崲緋葷粺windows\system32\ 涓嬪悓鍚嶆枃浠?鍐嶆縺媧籵ffice2007.
鏄熸槦鍗歌澆:涓嬭澆鏂囦歡 鐐瑰嚮涓嬭澆姝ゆ枃浠?/font>
鎴栬呭共鑴嗙粨鏉熸帀鏄熸槦騫舵浛鎹㈡帀鏄熸槦紼嬪簭.鍙敤涓嬮潰鐨勬壒澶勭悊鏂囦歡.
涓嬭澆鏂囦歡 鐐瑰嚮涓嬭澆姝ゆ枃浠?/font>

Office涓嬭澆(鎺ㄨ崘榪呴浄):
浼佷笟鐗?ftp://ribbitar.3322.org/Soft/MicrosoftOfficeEnterprise2007.iso
涓撲笟鐗?ftp://ribbitar.3322.org/Soft/MicrosoftOfficeProfessionalPlus2007.iso




杞澆浜庯細
http://1vr.cn/article.asp?id=411

]]>
char* String CString姣旇緝http://m.shnenglu.com/jianlinzhang/archive/2009/05/06/82015.html寮犲緩鏋?/dc:creator>寮犲緩鏋?/author>Wed, 06 May 2009 02:14:00 GMThttp://m.shnenglu.com/jianlinzhang/archive/2009/05/06/82015.htmlhttp://m.shnenglu.com/jianlinzhang/comments/82015.htmlhttp://m.shnenglu.com/jianlinzhang/archive/2009/05/06/82015.html#Feedback0http://m.shnenglu.com/jianlinzhang/comments/commentRss/82015.htmlhttp://m.shnenglu.com/jianlinzhang/services/trackbacks/82015.htmlCString/string 鍖哄埆鍙婂叾杞寲

鍒╃敤MFC榪涜緙栫▼鏃訛紝鎴戜滑浠庡璇濇涓埄鐢℅etWindowText寰楀埌鐨勫瓧絎︿覆鏄疌String綾誨瀷錛孋String鏄睘浜嶮FC鐨勭被銆傝屼竴浜涙爣鍑咰/C++搴撳嚱鏁版槸涓嶈兘鐩存帴瀵笴String綾誨瀷榪涜鎿嶄綔鐨勶紝鎵浠ユ垜浠粡甯擱亣鍒板皢CString綾誨瀷杞寲char*絳夌瓑鍏朵粬鏁版嵁綾誨瀷鐨勬儏鍐點傝繖閲屾葷粨澶囧繕浜庢錛?/span>
棣栧厛瑕佹槑紜紝鏍囧噯C涓槸涓嶅瓨鍦╯tring綾誨瀷鐨勶紝string鏄爣鍑咰++鎵╁厖瀛楃涓叉搷浣滅殑涓涓被銆備絾鏄垜浠煡閬撴爣鍑咰涓湁string.h榪欎釜澶存枃浠訛紝榪欓噷瑕佸尯鍒嗘竻妤氾紝姝tring闈炲郊string銆俿tring.h榪欎釜澶存枃浠朵腑瀹氫箟浜嗕竴浜涙垜浠粡甯哥敤鍒扮殑鎿嶄綔瀛楃涓茬殑鍑芥暟錛屽錛歴trcpy銆乻trcat銆乻trcmp絳夌瓑錛屼絾鏄繖浜涘嚱鏁扮殑鎿嶄綔瀵硅薄閮芥槸char*鎸囧悜鐨勫瓧絎︿覆銆?鑰孋++鐨剆tring綾繪搷浣滃璞℃槸string綾誨瀷瀛楃涓詫紝璇ョ被閲嶈浜嗕竴浜涜繍綆楃錛屾坊鍔犱簡涓浜涘瓧絎︿覆鎿嶄綔鎴愬憳鍑芥暟錛屼嬌寰楁搷浣滃瓧絎︿覆鏇村姞鏂逛究銆傛湁鐨勬椂鍊欐垜浠灝唖tring涓插拰char*涓查厤鍚堜嬌鐢紝鎵浠ヤ篃浼氭秹鍙婂埌榪欎袱涓被鍨嬬殑杞寲闂銆?br>
1.CString
鍜宻tring鐨勮漿鍖?/strong>
stringstr="ksarea";
CStringcstr(str.c_str());//鎴栬匔String cstr(str.data());鍒濆鍖栨椂鎵嶈
cstr=str.c_str();鎴栬?/span>cstr=str.data();
str=cstr.GetBuffer(0); //CString -> string
cstr.format("%s", str.c_str()); //string->CString
cstr.format("%s", str.data()); //string->CString
str = LPCSTR(cstr); //CString->string
/*c_str()鍜宒ata()鍖哄埆鏄細鍓嶈呰繑鍥炲甫'\0'鐨勫瓧絎︿覆錛屽悗鑰呭垯榪斿洖涓嶅甫'\0'鐨勫瓧絎︿覆*/
2.CString鍜宨nt鐨勮漿鎹?/span>
inti=123;
CStringstr;
str.format("%d",i);//int->CString
鍏朵粬鐨勫熀鏈被鍨嬭漿鍖栫被浼?/span>
i=atoi(str);//CString->int 榪樻湁(atof,atol)
3.char*鍜孋String鐨勮漿鎹?/span>
CStringcstr="ksarea";
char* ptemp=cstr.getbuffer(0);
char* str;
strcpy(str,ptemp);//CString->char*
cstr.releasebuffer(-1);

char*str="lovesha";
CStringcstr=str;//char*->CString string
綾誨瀷涓嶈兘鐩存帴璧嬪肩粰CString
鑷充簬int涓巉loat銆乻tring涓巆har*涔嬮棿鐨勮漿鍖栧彲浠ヤ嬌鐢ㄥ己鍒惰漿鍖栵紝鎴栬呮爣鍑嗗簱鍑芥暟榪涜銆傚浜嶤String涓庡叾浠栫被鍨嬬殑杞寲鏂規硶寰堝錛屼絾鍏跺疄閮芥畩閫斿悓褰掞紝鏈濈潃涓涓柟鍚戝嵆灝嗙被鍨嬮鍏堣漿鍖栦負char*綾誨瀷錛屽洜涓篶har*鏄笉鍚岀被鍨嬩箣闂寸殑妗ユ銆傚緱鍒癱har*綾誨瀷錛岃漿鍖栦負鍏朵粬綾誨瀷灝遍潪甯稿鏄撲簡銆?/span>













涓昏鏈変互涓嬫枃绔狅細
http://blog.csdn.net/bitxinhai/archive/2008/04/14/2292014.aspx
http://www.vczx.com/article/show.php?id=845

http://www.vczx.com/article/show.php?id=846



]]>鐮磋Вqq鐨勪竴緋誨垪闂http://m.shnenglu.com/jianlinzhang/archive/2009/05/04/81834.html寮犲緩鏋?/dc:creator>寮犲緩鏋?/author>Mon, 04 May 2009 08:15:00 GMThttp://m.shnenglu.com/jianlinzhang/archive/2009/05/04/81834.htmlhttp://m.shnenglu.com/jianlinzhang/comments/81834.htmlhttp://m.shnenglu.com/jianlinzhang/archive/2009/05/04/81834.html#Feedback0http://m.shnenglu.com/jianlinzhang/comments/commentRss/81834.htmlhttp://m.shnenglu.com/jianlinzhang/services/trackbacks/81834.html瑕佺湅璁塊棶鍙楅檺鐨凲Q絀洪棿寰堢畝鍗曞晩,鐢ㄦ墜宸?

鍦ㄥ湴鍧鏍忛噷杈撳叆

http://qqxoo.com/main.html?qqid=80224567   榪欐牱灝卞彲鑳界湅瀵規柟鐨勭┖闂?
http://qqshow-user.tencent.com/80224567/11/00 鐪婱M鐨凲Q緇?
http://shuqian.qq.com/80224567/  QQ        涔︾
http://h.qbar.qq.com/80224567 榪欎釜鏄湅濂圭殑Q鍚?
http://shop.paipai.com/80224567 鐪婱M鐨勬媿鎷?
http://wenwen.soso.com/z/ShowUser.e?sp=80224567 榪欎釜鏄粈涔堝憿錛岄棶闂?
http://images.5d6d.net/dz61/smilies/default/mad.gif[/img]Q]http://wpa.qq.com/pa?p=1Q鍙?4
  榪欎釜鏄煡鐪嬪ソ鍙嬪湪涓嶅湪灝辯湅榪欎釜浜?錛孧M鏄笉鏄湪綰?


鐢ㄦ墜宸ョ殑鏄緢綆鍗?涓嶄俊灝辮瘯璇?鍙嶆涔熷氨涓鍒嗛挓

PS:綰㈣壊閮ㄥ垎鏀規垚浣犳兂鐨凲Q灝卞彲浠ヤ簡
鍘熷笘鏉ヨ嚜錛?a >http://qzone.qq.com/blog/80224567-1239195902



]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              日韩视频在线观看免费| 亚洲欧美激情四射在线日| 99国产成+人+综合+亚洲欧美| 国产精品成人一区二区三区夜夜夜| 亚洲欧美中日韩| 亚洲一区二区成人| 亚洲专区一区二区三区| 亚洲午夜91| 亚洲欧美久久久| 亚洲永久在线观看| 午夜一区不卡| 亚洲欧美日韩中文在线制服| 国产精品久久久久久久午夜片| 国产精品国产精品| 国产视频观看一区| 亚洲国产欧美一区| 亚洲午夜精品一区二区| 亚洲一级电影| 模特精品在线| 99视频精品全国免费| 国产精品99久久久久久久久| 久久精品国产久精国产一老狼| 久久全球大尺度高清视频| 欧美精品一区二区三区蜜桃| 国产精品视频专区| 亚洲第一在线综合网站| 亚洲一区国产精品| 亚洲高清在线精品| 亚洲精品欧美精品| 欧美激情成人在线| 韩国在线视频一区| 亚洲综合欧美| 亚洲欧洲av一区二区| 午夜精品久久| 国产精品一区一区三区| 亚洲视频中文| 亚洲精品日韩在线| 免费在线一区二区| 亚洲精品在线视频观看| 久久国产日韩| 欧美专区在线| ●精品国产综合乱码久久久久| 香蕉av777xxx色综合一区| 亚洲视频第一页| 国产精品久久一区二区三区| 亚洲激情小视频| 影音先锋另类| 免费精品视频| 午夜精品视频在线观看| 一区二区三区视频免费在线观看| 欧美国产日韩视频| 宅男精品导航| 亚洲欧美一区二区三区久久| 在线日韩视频| 亚洲视频久久| 韩日视频一区| 一本色道久久综合狠狠躁的推荐| 国产欧美日本| 欧美国产欧美亚洲国产日韩mv天天看完整 | 韩国成人理伦片免费播放| 久久久久久久久久久久久女国产乱 | 国产亚洲精品7777| 久久全国免费视频| 欧美调教视频| 欧美激情亚洲自拍| 国产精品成人观看视频免费| 久久婷婷蜜乳一本欲蜜臀| 欧美日韩精品一区二区三区四区| 亚洲欧美久久久| 欧美黄色一区二区| 伊人久久大香线蕉综合热线| 久久精品论坛| 国产精品av久久久久久麻豆网| 久久精品在线播放| 国产一区二区三区久久| 亚洲日本va午夜在线电影| 国产欧美一区二区色老头| 91久久综合亚洲鲁鲁五月天| 国产精品每日更新| 亚洲视频在线观看| 久久精品国产亚洲一区二区三区| 麻豆成人91精品二区三区| 免费在线看成人av| 最新国产精品拍自在线播放| 久久久精品国产一区二区三区| 美女视频黄a大片欧美| 又紧又大又爽精品一区二区| 老司机精品视频网站| 久久综合伊人| 一本一本久久a久久精品牛牛影视| 欧美中文字幕在线视频| 老司机免费视频久久| 亚洲精品九九| 国产亚洲精品aa| 蜜桃久久av一区| 在线亚洲观看| 久久久天天操| 亚洲一区二区三区视频| 国产日韩一区二区三区在线播放 | 久久久久久色| 最新国产成人在线观看| 午夜欧美理论片| 91久久精品一区二区三区| 欧美日韩亚洲国产精品| 亚洲一区二区三区四区五区午夜 | 国产精品久久久一区二区| 欧美在线观看视频一区二区三区| 久久久一区二区三区| 亚洲网站在线观看| av成人激情| 在线观看亚洲精品| 国模一区二区三区| 国产私拍一区| 国产精品午夜av在线| 欧美经典一区二区| 欧美日韩国产免费观看| 欧美绝品在线观看成人午夜影视| 香蕉免费一区二区三区在线观看| 99精品热视频| 一区二区三区精品国产| 亚洲欧洲精品一区二区| 欧美h视频在线| 欧美国产日韩xxxxx| 亚洲精选视频免费看| 亚洲天堂成人| 香蕉成人久久| 久久九九精品| 久久美女性网| 欧美91视频| 欧美区一区二区三区| 欧美日韩一区在线| 国产欧美精品一区aⅴ影院| 国产精品中文字幕欧美| 国产精品试看| 好吊妞这里只有精品| 亚洲欧洲中文日韩久久av乱码| 亚洲精品国产系列| 亚洲一二三四久久| 快播亚洲色图| 艳女tv在线观看国产一区| 久久精品女人| 欧美日韩福利| 亚洲欧洲av一区二区| 欧美极品aⅴ影院| 国语自产偷拍精品视频偷 | 国产亚洲成av人在线观看导航| 国产伦精品一区二区三区在线观看 | 一区二区三区黄色| 欧美另类变人与禽xxxxx| 国产精品影院在线观看| 一本一本a久久| 亚洲黄色在线观看| 欧美插天视频在线播放| 亚洲第一成人在线| 久久久亚洲国产美女国产盗摄| 亚洲制服av| 国产一区欧美日韩| 久久麻豆一区二区| 久久精品视频网| 在线看国产一区| 欧美激情一区在线| 欧美日韩国产首页在线观看| 日韩亚洲欧美精品| 亚洲天堂激情| 国产日韩在线看| 欧美国产成人在线| 欧美激情中文字幕在线| 午夜精品久久久久久久久| 欧美一区二区私人影院日本| 精品福利免费观看| 亚洲日本aⅴ片在线观看香蕉| 欧美日韩国产在线一区| 欧美在线观看视频在线| 久久久精品五月天| 在线视频一区二区| 久久久久久久性| 午夜精品亚洲| 欧美成人在线影院| 午夜视频在线观看一区| 久久躁日日躁aaaaxxxx| 欧美精品综合| 久久久久91| 国产女主播在线一区二区| 亚洲激情另类| 在线观看三级视频欧美| 亚洲欧美日韩高清| 亚洲视频在线一区观看| 久久久久久伊人| 久久av一区| 国产精品自拍视频| 一区二区冒白浆视频| 亚洲精品激情| 欧美成人国产va精品日本一级| 久久久久久久久久久久久久一区| 国产精品大片免费观看| 亚洲国产精品久久人人爱蜜臀| 黄色一区三区| 久久久久久97三级| 另类av一区二区| 亚洲第一天堂无码专区|