锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产一区清纯,国产精品一区二区久激情瑜伽,午夜精品久久久久久久蜜桃apphttp://www.shnenglu.com/bourne/archive/2006/09/28/13082.htmlBourneBourneThu, 28 Sep 2006 03:03:00 GMThttp://www.shnenglu.com/bourne/archive/2006/09/28/13082.htmlhttp://www.shnenglu.com/bourne/comments/13082.htmlhttp://www.shnenglu.com/bourne/archive/2006/09/28/13082.html#Feedback0http://www.shnenglu.com/bourne/comments/commentRss/13082.htmlhttp://www.shnenglu.com/bourne/services/trackbacks/13082.html鏈枃緇欏嚭浜嗕竴涓Microsoft .NET 鍜孧icrosoft's XML Web鏈嶅姟騫沖彴鐨勬諱綋浠嬬粛浠ュ強浣跨敤瀹冧滑鐨勫ソ澶勩傚悓鏃舵垜浠繕灝嗕婦渚嬭鏄?/font> .NET 鏄浣曟敼鍙樼粓绔敤鎴峰拰鍟嗕笟鐨勮綆楁ā寮忋?
聽聽
聽聽銆銆鍦ㄦ湰鏂囦腑鎴戜滑涓嶆兂娑夊強鍒板緢綺炬繁鐨勬妧鏈紝浠諱綍紼嶅井鎳備竴鐐圭數鑴戝拰Internet鐭ヨ瘑鐨勪漢閮藉彲浠ョ悊瑙f湰綃囩殑鍐呭銆侻icorosoft榪樹負閭d簺甯屾湜鎺屾彙
.NET 鐨勫叕鍙告墽琛屽畼銆両T棰嗗鍜岀▼搴忓憳浠?
聽聽鎻愪緵浜嗘洿澶氱殑璧勬簮銆?
聽聽
聽聽銆銆浠涔堟槸Microsoft
.NET ?
聽聽
聽聽銆銆Microsoft
.NET 鏄疢icrosoft鐨?/font> XML Web鏈嶅姟騫沖彴銆?/font> .NET 鍖呭惈浜嗗緩绔嬪拰榪愯鍩轟簬 XML 鐨?/font> 杞歡 鎵闇瑕佺殑鍏ㄩ儴閮ㄤ歡銆?
聽聽
聽聽銆銆Microsoft
.NET 瑙e喅浜嗕笅闈㈣繖浜涘綋浠?/font> 杞歡 寮鍙戜腑鐨勪竴浜涙牳蹇冮棶棰橈細
聽聽
聽聽銆銆鈼忎簰鎿嶄綔鎬?Interoperability)銆侀泦鎴愭?Integration)鍜屽簲鐢ㄧ▼搴忕殑鍙墿灞曟?extensibility)澶毦瀹炵幇鑰屼笖浠d環寰堥珮銆侻icrosoft
.NET 渚濋潬 XML (涓涓敱World Wide Web Consortium(W3C)綆$悊鐨勫紑鏀炬爣鍑?娑堥櫎浜嗘暟鎹叡浜拰 杞歡 闆嗘垚鐨勯殰紕嶃?
聽聽
聽聽銆銆鈼忔棤鏁板叿鏈夌浉褰撶珵浜夊姏鐨勭鏈?/font> 杞歡 鎶鏈嬌寰?/font> 杞歡 鐨勯泦鎴愬彉寰楅潪甯稿鏉傘傝孧icrosoft .NET 寤虹珛鍦ㄤ竴涓紑鏀劇殑鏍囧噯涓婏紝瀹冨寘鍚簡鎵鏈?/font> 緙栫▼ 璇█銆?
聽聽
聽聽銆銆鈼忓綋緇堢鐢ㄦ埛浣跨敤
杞歡 鏃訛紝浠栦滑鎬昏寰椾笉澶熺畝渚褲傛湁鏃剁敋鑷蟲劅鍒板緢娌撫錛屽洜涓轟粬浠棤娉曞湪紼嬪簭涔嬮棿鏂逛究鍦板叡浜暟鎹垨鏄棤娉曞鑳借闂殑鏁版嵁榪涜鎿嶄綔銆?/font> XML 浣挎暟鎹氦鎹㈠彉寰楀鏄撲簡錛屽茍涓?/font> .NET 杞歡 鍙互浣垮緱鐢ㄦ埛鍙涓寰楀埌鏁版嵁灝辮兘瀵瑰畠浠繘琛屾搷浣溿?
聽聽
聽聽銆銆鈼忕粓绔敤鎴蜂滑鍦ㄤ嬌鐢╓eb鐨勬椂鍊欙紝鏃犳硶瀵硅嚜宸辯殑涓漢淇℃伅鍜屾暟鎹繘琛屾帶鍒訛紝榪欏鑷翠簡涓漢闅愮鍜屽畨鍏ㄦ硠婕忛棶棰樸傝孧icrosoft
.NET 鎻愪緵浜嗕竴濂楁湇鍔★紝浣跨敤鎴峰彲浠ョ鐞嗕粬浠殑涓漢淇℃伅錛屽茍涓旀帶鍒跺榪欎簺淇℃伅鐨勮闂?
聽聽
聽聽銆銆鈼?COM鍏徃鍜學eb绔欑偣寮鍙戣呬滑寰堥毦涓虹敤鎴蜂滑鎻愪緵瓚沖鐨勬湁浠峰肩殑鏁版嵁錛岃嚦灝戞湁涓閮ㄥ垎鍘熷洜鏄敱浜庝粬浠殑搴旂敤紼嬪簭鍜屾湇鍔℃棤娉曞緢濂藉湴鍜屽叾浠栫▼搴忓拰鏈嶅姟鍚堜綔錛屽彧鏄竴涓笉鍜屽鐣岃繛鎺ョ殑淇℃伅瀛ゅ矝銆傝孧icrosoft
.NET 鐨勮璁″畻鏃ㄥ氨鏄負浜嗕嬌鏉ヨ嚜浜庡涓珯鐐瑰拰鍏徃鐨勬暟鎹垨鏈嶅姟鑳藉鏁村悎璧鋒潵銆?
聽聽
聽聽銆銆濡傚悓MS-DOS鍜學indows涓鏍鳳紝
.NET 灝嗗ぇ澶ф敼鍙樻垜浠殑璁$畻棰嗗煙銆侻S-DOS浣垮緱涓漢鐢佃剳鍦ㄥ晢涓氬拰瀹跺涵涓箍涓烘帴鍙楋紱Windows澧炲己浜嗙敤鎴風殑鍥懼艦鐣岄潰錛屼嬌鍏舵垚涓洪閫夌殑涓?/font> 杞歡 浜や簰鏂瑰紡錛屾渶緇堜嬌寰楀浘褰㈢晫闈㈡垚涓轟釜浜虹數鑴戠殑涓繪祦銆傝?/font> .NET 鍒欒鎶?/font> XML Web鏈嶅姟鍙樻垚鏃ュ悗鐨勪富嫻佽綆楁ā寮忋?
聽聽
聽聽銆銆
XML Web鏈嶅姟鏄緩绔嬪湪 XML 鏁版嵁浜ゆ崲鍩虹涓婄殑 杞歡 妯″瀷錛屽畠甯姪搴旂敤紼嬪簭銆佹湇鍔″拰璁懼涓璧峰伐浣溿傜敤 XML 榪涜鍏變韓鐨勬暟鎹紝褰兼涔嬮棿鐙珛錛屼絾鍚屾椂鍙堣兘澶熸澗鑰﹀悎鍦拌繛鎺ュ埌涓涓墽琛屾煇鐗瑰畾浠誨姟鐨勫悎浣滅粍銆?
聽聽
聽聽銆銆鎯充簡瑙?/font> XML Web鏈嶅姟濡備綍宸ヤ綔錛屾渶鏂逛究鐨勬柟娉曞氨鏄妸瀹冨拰鎷艱 娓告垙 浣滄瘮杈冦?/font> XML Web鏈嶅姟鍜屾嫾瑁?/font> 娓告垙 鐨勬嫾鍧椾竴鏍鋒槸涓浜涚嫭绔嬬殑鍗曞厓銆傚悗鑰呯敤涓涓爣鍑嗙殑鏂規硶鐩鎬簰鍜悎鍦ㄤ竴璧鳳紝 XML Web鏈嶅姟涓庤繖綾諱技錛屼絾瀹冩槸閫氳繃 XML message瀹炵幇鐩鎬簰浜や簰鐨勩傚綋浣犳妸鎷煎潡鎷煎湪涓璧鋒椂錛屼綘灝卞緱鍒頒簡涓涓璞★細涓騫㈡埧瀛愩佷竴鑹樿埞鎴栦竴鏋墮鏈恒傚悓鏍鳳紝褰撲綘鎶?/font> XML Web鏈嶅姟緇撳悎鍦ㄤ竴璧鋒椂錛屼綘灝卞緱鍒頒簡涓涓畬鎴愭煇鐗瑰畾浠誨姟鐨?/font> 杞歡 瑙e喅鏂規銆傚悓涓鎷煎潡鍙互鐢ㄥ湪寰堝涓嶅悓瀵硅薄涓紝鑰屼竴涓?/font> XML Web鏈嶅姟鍚屾牱涔熷彲浠ョ敤鍦ㄤ笉鍚岀殑鏂規緇勪腑錛屼綔涓轟笉鍚屼換鍔¤В鍐蟲柟妗堢殑涓涓粍鎴愰儴鍒嗐?
聽聽
聽聽銆銆
XML Web鏈嶅姟浣垮紑鍙戣呰兘澶熷浠栦滑鎵瑕佺殑紼嬪簭鐨勬潵婧愯繘琛岄夋嫨錛屽彲浠ヨ嚜宸卞垱寤烘垨璐拱紼嬪簭鐨勫姛鑳藉潡錛涘悓鏍蜂篃鍙互閫夋嫨鏄鑷繁鐨勬柟妗堜嬌鐢ㄥ叾浠栫殑 XML Web鏈嶅姟錛岃繕鏄鍏朵粬鐨勭▼搴忎嬌鐢ㄨ嚜宸辯殑鏈嶅姟銆傝繖鎰忓懗鐫涓涓叕鍙鎬笉蹇呬負浜嗙粰瀹㈡埛涓涓畬鏁寸殑瑙e喅鏂規鑰屼笉寰椾笉鎻愪緵鏂規鐨勬瘡涓涓粍鎴愰儴鍒嗐?
聽聽
聽聽銆銆
XML Web鏈嶅姟闄や簡涓湇鍔$浉浜掍箣闂寸嫭绔嬩互澶栵紝瀵硅闂畠浠殑璁懼鑰岃█涔熸槸鐙珛鐨勩備笌鐙珛搴旂敤紼嬪簭涓嶅悓鐨勬槸錛?/font> XML Web鏈嶅姟騫舵病鏈夋潫緙氫簬鏌愪竴鐗瑰畾鐨?/font> 緙栫▼ 璇█鎴栧晢涓氬簲鐢ㄧ▼搴忔垨鑰呮槸鏌愪竴鍦ㄧ嚎鏈嶅姟銆傝繖緇欎簡緇堢鐢ㄦ埛瓚沖鐨勮嚜鐢憋紝浣垮叾鍙互浣跨敤浠諱綍璁塊棶璁懼錛屼粠鍙板紡鐢佃剳鍒扮Щ鍔ㄧ數璇濋兘鍙互銆?
聽聽
聽聽銆銆
.NET 鎴樼暐
聽聽
聽聽銆銆Microsoft
.NET 紼嬪簭鍛樹滑璁捐緙栧啓鐨勬槸 XML Web鏈嶅姟錛岃屼笉鏄湇鍔″櫒鎴栧鎴風鐨勭嫭绔嬪簲鐢ㄧ▼搴忋備粬浠妸榪欎簺鏈嶅姟緇勫悎鎴愭澗鑰﹀悎錛岀浉浜掑崗浣滅殑 杞歡 緹わ紝 XML Web鏈嶅姟涔嬮棿浣跨敤 XML messaging榪涜閫氳銆備負浜嗗仛鍒拌繖涓鐐癸紝紼嬪簭鍛橀渶瑕侊細
聽聽
聽聽銆銆1.涓涓?/font> 杞歡 騫沖彴錛岀敤浜庡緩绔嬩竴縐嶆柊鐨勫畬鏁寸殑涓漢鐢ㄦ埛緇忛獙銆?
聽聽
聽聽銆銆2.涓涓?/font> 緙栫▼ 妯″瀷鍜屽伐鍏鳳紝鐢ㄤ互寤虹珛鍜屾暣鍚?/font> XML Web鏈嶅姟銆?
聽聽
聽聽銆銆3.涓濂楄兘涓哄簲鐢ㄧ▼搴忓拰鏈嶅姟鎻愪緵鍩虹鐨勫彲
緙栫▼ 鐨勬湇鍔?
聽聽
聽聽銆銆Microsoft鐨?/font> .NET 鎴樼暐灝辯瀯鍑嗕簡榪欎笁鐐廣?
聽聽
聽聽銆銆
.NET 鍖呮嫭錛?
聽聽
聽聽銆銆鈼?/font> .NET 騫沖彴錛岃繖鏄竴濂?/font> 緙栫▼ 宸ュ叿鍜屽熀鏈瀯鏋訛紝鐢ㄦ潵鍒涘緩銆佸彂甯冦佺鐞嗗拰鏁村悎 XML Web鏈嶅姟
聽聽
聽聽銆銆鈼?/font> .NET 浣撻獙錛岃繖鏄粓绔敤鎴風敤浠ュ拰 .NET 浜や簰鐨勬墜孌?br />
.NET 騫沖彴
聽聽
聽聽銆銆Microsoft鐨勫鉤鍙版槸鐢辯敤浜庡垱寤哄拰榪愯
XML Web鏈嶅姟緇勬垚鐨勩傚畠鍖呭惈浜嗕笅闈㈠洓涓粍浠訛細
聽聽
聽聽銆銆
.NET 妗嗘灦鍜孷isual Studio .NET :榪欎簺鏄紑鍙戜漢鍛樼敤鏉ョ敓鎴?/font> XML Web鏈嶅姟鐨勫伐鍏楓?/font> .NET 妗嗘灦鏄疢icrosoft .NET 騫沖彴鏍稿績涓殑涓濂?/font> 緙栫▼ 鎺ュ彛錛沄isual Studio .NET 鏄竴濂楀璇█緋誨垪鐨?
聽聽
緙栫▼ 宸ュ叿銆?
聽聽
聽聽銆銆鏈嶅姟鍣ㄥ熀鏈粨鏋?Server Infrastructure):
.NET 鐨勬湇鍔″櫒鍩烘湰緇撴瀯鏄竴緋誨垪鐢ㄤ簬鐢熸垚銆佸彂甯冨拰鎿嶄綔 XML Web鏈嶅姟鐨勫熀紜紼嬪簭錛屽寘鎷琖indows鍜屽悇縐?/font> .NET 浼佷笟鏈嶅姟鍣ㄣ備富瑕佺殑鎶鏈寘鎷 XML 銆乻cale-out鍙婅法紼嬪簭鍜屾湇鍔$殑鍟嗗姟嫻佺▼(business process orchestration)鐨勬敮鎸併傝繖浜涙湇鍔″櫒鍖呮嫭鏈夛細
聽聽
聽聽銆銆鈼廇pplication Center 2000錛岀敤浜巗cale-out solutions
聽聽
聽聽銆銆鈼廈izTalk Server 2000錛岀敤浜庡垱寤哄拰綆$悊鍩轟簬
XML 鐨勮法紼嬪簭鍜屾湇鍔$殑鍟嗗姟嫻佺▼(business process orchestration across applications and services)
聽聽
聽聽銆銆鈼廐ost Integration Server 2000錛岀敤鏉ヨ闂富鏈轟笂鐨勬暟鎹拰搴旂敤紼嬪簭
聽聽
聽聽銆銆鈼廙obile Information 2001 Server錛屼嬌縐誨姩璁懼錛屾瘮濡傜Щ鍔ㄧ數璇濓紝涔熻兘浣跨敤榪欎簺搴旂敤紼嬪簭
聽聽
聽聽銆銆鈼?/font> SQL Server 2000鍌ㄥ瓨鍜屾绱㈢粨鏋勫寲鐨?a class="Channel_KeyLink" >XML鏁版嵁
聽聽
聽聽銆銆Building Block Services: Building Block Services鏄竴濂椾互鐢ㄦ埛涓轟腑蹇冪殑
XML Web鏈嶅姟錛屽畠鎶婄敤鎴鋒暟鎹殑鎺у埗鏉冧粠搴旂敤紼嬪簭縐誨埌浜嗙敤鎴鋒墜涓婏紝浣縒eb鏈変簡涓涓炕澶╄鍦扮殑鍙樺寲錛屽仛鍒頒簡紼嬪簭銆佹湇鍔″拰璁懼涔嬮棿鐨勭畝鍗曟у強涓鑷存э紝榪欎繚璇佷簡鎵鏈夌殑浜ゆ槗閮藉繀欏誨緱鍒扮敤鎴風殑鍚屾剰銆傝繖浜涙湇鍔″寘鍚簡Passport(鐢ㄤ簬鐢ㄦ埛韜喚楠岃瘉)銆佹湇鍔′箣闂寸殑娑堟伅浼犻掋佹枃浠跺瓨鍌ㄣ佺敤鎴蜂釜鎬ц緗殑綆$悊銆佹棩鍘嗙鐞嗗拰鍏朵粬涓浜涘姛鑳姐侻icrosoft灝嗗湪閭d簺瀵?/font>.NET鍩烘湰緇撴瀯璧瘋嚦鍏抽噸瑕佷綔鐢ㄧ殑棰嗗煙鍐呮彁渚涗竴浜涘潡鏋勫緩鏈嶅姟(building block services)銆傚ぇ閲忕殑鍚堜綔浼欎即鍜屽紑鍙戝晢灝嗗榪欎簺鍧楁瀯寤烘湇鍔′綔閲嶈鐨勬墿灞曘?
聽聽
聽聽銆銆鏅鴻兘璁懼(smart device):
.NET鍒╃敤杞歡浣挎櫤鑳借澶囷紝璇稿鎵嬫彁鐢佃剳銆佽交渚跨數璇濄?/font>娓告垙鎿嶇旱鍙扮瓑閮借兘澶熷湪.NET涓栫晫涓緱浠ヤ嬌鐢ㄣ?
聽聽
聽聽銆銆涓涓櫤鑳借澶囧簲璇ワ細
聽聽
聽聽銆銆鈼忓鐢ㄦ埛瑕佹櫤鑳斤細鑳芥牴鎹敤鎴風殑
.NET韜喚銆佹。妗?profile)鍜屾湁鍏蟲暟鎹畝鍖栫敤鎴風殑宸ヤ綔錛涘彟澶栬瀵圭敤鎴風殑瀛樺湪瓚沖鐨勬櫤鑳斤紝鑳芥牴鎹綘鐨勫湪涓庝笉鍦ㄥ閫氱煡(notification)浣滃嚭璋冩暣銆?
聽聽
聽聽銆銆鈼忓緗戠粶瑕佹櫤鑳斤細璐熻矗甯﹀鐨勯檺鍒訛紱鏀寔搴旂敤紼嬪簭鐨勫湪綰垮拰綰夸笅涓ょ浣跨敤妯″紡錛涚煡閬撴湁鍝簺鏈夋晥鐨勬湇鍔°?
聽聽
聽聽銆銆鈼忓淇℃伅瑕佹櫤鑳斤細鑳藉湪浠諱綍鍦版柟銆佷換浣曟椂闂磋闂佸垎鏋愬拰鎿嶄綔鏁版嵁銆?
聽聽
聽聽銆銆鈼忓鍏朵粬鐨勮澶囪鏅鴻兘錛氳兘鍙戠幇鍜屾姤鍛婂叾浠栨櫤鑳借澶囥佹湇鍔″拰Internet鐨勫瓨鍦紱鐭ラ亾濡備綍涓哄叾浠栬澶囨彁渚涙湇鍔★紱鑳藉鐏墊椿鏂逛究鍦頒粠PC涓婅闂俊鎭?
聽聽
聽聽銆銆鈼忓
杞歡鍜屾湇鍔¤鏅鴻兘錛氳兘鏍規嵁琛ㄥ崟鐨勬儏鍐碉紝鏈鎭板綋鍦拌〃鐜板簲鐢ㄥ拰鏁版嵁錛涗負緇堢鐢ㄦ埛鎻愪緵鍚堥傜殑杈撳叆鏂規硶鍜岃繛鎺ワ紱鐢?/font>XML銆丼OAP鍜孶DDI鏉ヤ嬌鐢╓eb鏈嶅姟錛涘寮鍙戣呮潵璇達紝瑕佸叿鏈夊彲緙栫▼鎬у拰鎵╁睍鎬?
聽聽
聽聽銆銆Microsoft鐨勪竴浜?/font>杞歡浣胯兘澶熷湪鏅鴻兘璁懼涓婅繍琛岀殑錛屽畠浠寘鎷琖indows XP銆乄indows Me銆乄indows CE銆佸祵鍏ュ紡Windows銆?/font>.NET妗嗘灦浠ュ強.NET Compact妗嗘灦銆?
聽聽
聽聽銆銆
.NET浣撻獙(.NET experiences)
聽聽
聽聽銆銆緇堢鐢ㄦ埛鏄氳繃
.NET浣撻獙璁塊棶XML Web鏈嶅姟鐨勶紝榪欏拰鐜版湁鐨勭嫭绔嬪簲鐢ㄧ▼搴忔湁鐐圭被浼鹼紝浣嗗湪涓嬪垪榪欎簺閲嶈鐨勬柟闈㈡槸涓嶅悓鐨勶細
聽聽
聽聽銆銆鈼?/font>.NET浣撻獙鍙嬌鐢ㄤ簬澶氱璁懼鎴戜滑鏃犻渶涓哄彲鑳戒嬌鐢ㄧ殑姣忎竴涓澶囩紪鍐欎竴涓笉鍚?/font>XML Web鏈嶅姟鍜屼笉鍚岀殑.NET浣撻獙錛?/font>.NET浣撻獙鑳藉璇誨彇鐢ㄦ埛閫夊彇璁懼鐨勭壒寰侊紝緇欏嚭涓涓伆褰撶晫闈€?
聽聽
聽聽銆銆鈼?/font>.NET浣撻獙浣跨敤XML Web鏈嶅姟褰?/font>.NET浣撻獙榪炲叆緗戠粶鍚庡氨鑳芥湁鏁堝湴鍒╃敤XML Web鏈嶅姟涓虹敤鎴峰甫鏉ラ澶栫殑浠峰鹼紝浠ユ洿濂藉湴瑙e喅闂銆?
聽聽
聽聽銆銆鈼?/font>.NET浣撻獙鏄互鐢ㄦ埛涓轟腑蹇冪殑.NET浣撻獙鐨勭劍鐐瑰湪緇堢鐢ㄦ埛錛屼嬌鐢ㄥ熀浜庤韓浠介獙璇佺殑鍧楁瀯寤烘湇鍔℃潵涓虹敤鎴烽獙璇併佸弬鏁拌瀹氥侀氱煡鏈哄埗鍜岀敤鎴鋒暟鎹彁渚涙湇鍔°傚洜涓虹敤鎴鋒暟鎹槸鐢卞潡鏋勫緩鏈嶅姟綆$悊鐨勶紝鑰屼笉鏄簲鐢ㄧ▼搴忔湰韜紝鎵浠ョ敤鎴峰氨鑳芥帶鍒朵粬浠嚜宸辯殑鏁版嵁錛岃兘淇濋殰瀹冪殑姝g‘鎬э紝騫朵笖鍙互鍦ㄤ笉鍚岀殑紼嬪簭鍜屾湇鍔′箣闂村崗璋冩暟鎹?
聽聽
聽聽銆銆Microsoft姝e湪浣挎渶鍙楁榪庣殑鍥涗釜浜у搧榪囨浮鍒?/font>.NET浣撻獙銆侻icrosoft Office XP涓虹敤鎴鋒彁渚?/font>.NET浣撻獙鏂歸潰璺ㄥ嚭浜嗙涓姝ャ傚彟澶栵紝MSN錛屽寘鎷琈SN Explorer鏈湴瀹㈡埛绔殑浣跨敤錛屾鍦ㄥ垱寤轟竴涓熀浜庢秷璐硅呯殑.NET浣撻獙銆侻icrosoft bCentral鐨勫皬鍨嬪晢鍔″叆鍙?business portal)姝e姫鍔涗負灝忓瀷浜嬪姟(姣斿鍟嗗搧鐩綍綆$悊)鎻愪緵蹇呰鐨?/font>XML Web鏈嶅姟錛屽悓鏃朵篃浣跨敤涓浜涢噸瑕佺殑XML Web鏈嶅姟(姣斿eBay)銆俈isual Studio寮鍙戠郴緇熷皢涓哄紑鍙戣呬滑鎻愪緵.NET浣撻獙錛屽彲浠ュ湪榪欎簺寮鍙戝伐鍏蜂腑鐩存帴寰楀埌MSDN淇℃伅銆?
聽聽
聽聽銆銆
.NET鐨勫ソ澶?
聽聽
聽聽銆銆Microsoft
.NET涓虹▼搴忓憳銆佸晢涓氶瀵箋両T閮ㄩ棬浠ュ強娑堣垂鑰呭甫鏉ヤ簡寰堝濂藉銆?
聽聽
聽聽銆銆鈼忕浉瀵規潵璇達紝紼嬪簭鍛樻槸姣旇緝緙轟箯鐨勶紝闆囩敤鐨勮垂鐢ㄤ篃寰堥珮銆傜劧鑰孧icrosoft
.NET浣?/font>緙栫▼宸ヤ綔鍙樺緱鏇村姞瀹規槗錛屽紑鍙戞姇璧勭殑鍥炴姤鐜囦篃瓚嬫渶澶у寲銆傚紑鍙戣呬滑鍙互鍒涘緩鑳介噸鐢ㄧ殑XML Web鏈嶅姟錛岃屼笉鍐嶆槸涓涓崟涓鐨勭▼搴忥紱榪欎簺Web鏈嶅姟鏄撲簬緙栫▼鍜岃皟璇曪紝褰兼涔嬮棿鐩鎬簰鐙珛錛岄氳繃XML message閫氳鍙婂悎浣溿傛墍浠ュ鏌愪竴涓湇鍔$殑淇敼涓嶄細褰卞搷鍒板叾浠栫殑鏈嶅姟銆?
聽聽
聽聽銆銆鐢變簬
XML Web鏈嶅姟鍙互琚緢澶?/font>.NET浣撻獙鍏卞悓浣跨敤錛屾墍浠ュ涓涓湇鍔℃ā鍧楃殑鏈夋晥鏇存柊錛屼篃鍗蟲洿鏂頒簡鎵鏈変嬌鐢ㄨ繖涓ā鍧楃殑.NET浣撻獙銆備換浣?/font>緙栫▼璇█閮藉彲浠ョ敤鏉ョ紪鍐?/font>XML Web鏈嶅姟(濡傦細C銆?/font>C++銆乂isual Basic銆丆OBOL銆丳erl銆丳ython鍜孞ava絳?錛屾墍浠ヤ綘鐨勭▼搴忓憳鍙互閫夋嫨浠栦滑鏈鐔熸倝鐨勮璦鏉?/font>緙栫▼錛岃繖澶уぇ鎻愰珮浜嗗紑鍙戞晥鐜囥傛洿鍊煎緱涓浣撶殑鏄紝浠栦滑騫舵病鏈夊洜浣跨敤浜嗕笉鍚岀殑璇█鑰屽け鍘昏法鏈嶅姟鎴栬法緇勪歡鐨勮皟璇曡兘鍔涖?
聽聽
聽聽銆銆鈼廙icrosoft
.NET鍑忓皯浜嗙▼搴忓憳瑕佸啓鐨勪唬鐮侀噺銆備竴涓?/font>XML Web鏈嶅姟鑳介傜敤浜庢墍浠ョ殑璁懼錛屼笉蹇呭啀鍘諱負姣忎竴涓澶囩紪鍐欎竴涓笉鍚岀殑鐗堟湰銆傚彟澶栵紝灝嗘樉紺虹壒鎬т笌.NET浣撻獙鍒嗗紑浠ヤ究浠ュ悗鍔犲叆鏂扮殑鎺ュ彛鎶鏈紝姣斿璇煶鎴栨墜鍐欒瘑鍒紝鑰屼笉蹇呭幓閲嶅啓紼嬪簭銆?
聽聽
聽聽銆銆鈼廙icrosoft
.NET寮鍒涗簡鍏ㄦ柊鐨勫晢涓氭ā鍨嬶紝瀹冧嬌寰椾竴涓叕鍙稿彲浠ョ敤澶氱鏂規硶鏉ユ妸鑷繁鐨勬妧鏈晢鍝佸寲銆傛嵁涓緥瀛愭潵璇達紝涓涓氳鍏徃鍙互浣跨敤XML Web鏈嶅姟鐨勬柟寮忔彁渚涜闊充俊浠跺拰鍛煎彨鑰匢D鐨勮闂紝璁╃敤鎴蜂粠涓涓嵆鏃舵秷鎭▼搴忋佺數瀛愰偖浠舵垨鐢ㄦ埛鎵閫夌殑鍏朵粬淇℃伅緙栬瘧鍣ㄤ腑璁塊棶鍒頒笂榪頒俊鎭傛妧鏈彁渚涘晢鍙互鎶婁粬浠幇鏈夌殑杞歡鍖呰漿鍙樹負XML Web鏈嶅姟錛屽茍鎶婅繖浜涙湇鍔″嚭鍞粰闇瑕佽繖浜涘姛鑳界涓夋柟錛屾垨鏄粰.NET浣撻獙鎻愪緵鍟嗭紝鐢ㄤ互鏋勫緩鏂扮殑杞歡鍖呫?br />
鈼廙icrosoft
.NET鍏佽IT閮ㄩ棬浣跨敤鍏朵粬鎻愪緵鍟嗙殑XML Web鏈嶅姟錛屽噺灝戝唴閮ㄧ爺鍙戠殑寮閿錛屽茍鑳芥彁楂樺伐浣滄晥鐜囥?
聽聽
聽聽銆銆鈼廙icrosoft
.NET瀵?鐢ㄦ埛鐣岄潰鍙嬪ソ"浣滀簡閲嶆柊瀹氫箟銆傜粓绔敤鎴瘋兘澶熷緶寰変簬涓涓櫤鑳藉寲鐨勩佷釜鎬у寲鐨処nternet錛屽畠鑳借浣忕敤鎴風殑涓漢璁劇疆錛屽茍鍦ㄩ傚綋鐨勬椂鍊欙紝鍚戠敤鎴蜂嬌鐢ㄧ殑鏅鴻兘璁懼涓婂彂閫侀傚綋鐨勬暟鎹?br />

[1]

.NET濡備綍鏀瑰彉璁$畻
聽聽
聽聽銆銆Microsoft
.NET灝嗕粠鏍規湰涓婃敼鍙樻垜浠殑鎬濊冨拰浣跨敤鐢佃剳鐨勬柟寮忋傜洰鍓?鏈嶅姟鍣?鍜?妗岄潰鐢佃剳"榪欎袱縐嶆蹇靛崰鎹簡璁$畻棰嗗煙鐨勭粺娌誨湴浣嶃傜劧鑰孧icrosoft .NET鏄竴縐嶅垎甯冨紡璁$畻鑼冧緥錛屽畠娌℃湁浜嗕紶緇熶笂鐨勬湇鍔″櫒鍜屾闈㈢數鑴戠殑鍖哄埆錛屽彇鑰屼唬涔嬬殑鏄紝璁$畻鐨勫鐞嗚鏀懼湪鏈鍚堥傜殑鍦版柟榪涜錛屽彲鑳芥槸鏈嶅姟
聽聽鍣紝鎴栨槸PC錛屼篃鏈夊彲鑳芥槸鎵嬫彁鐢佃剳浠ュ強鍏朵粬鏅鴻兘璁懼銆傝繖灝辨槸鏅鴻兘璁$畻銆?
聽聽
聽聽銆銆
.NET鐨勮綆楁ā鍨嬪鍟嗗姟鍜岀粓绔敤鎴烽兘浜х敓浜嗛噸瑕佸獎鍝嶏紝浣嗘柟娉曚笉鍚屻傚緇堢鐢ㄦ埛鏉ヨ錛岃繖涓柊璁$畻妯″紡鏇村叿涓у寲銆佺患鍚堢▼搴︽洿楂橈紝浼氱粰浠栦滑甯︽潵涓縐嶅彶鏃犲墠渚嬬殑鏂頒綋楠屻傚鍟嗗姟鏉ヨ錛岃繖涓ā寮忔敼鍙樹簡鍒墮犲拰閿鍞?/font>杞歡鐨勬柟娉曪紝浣縄T鎴愪負涓涓叕鍙告垚鍔熺殑閲嶈璐$尞鑰咃紝騫跺緩绔嬭搗鏂扮殑鍟嗗姟妯″瀷銆?
聽聽
聽聽銆銆瀵圭粓绔敤鎴風殑鏀瑰彉
聽聽
聽聽銆銆榪欓噷鏈変竴涓緥瀛愶紝璇存槑浜?/font>.NET浣撻獙鏄浣曞涓涓粓绔敤鎴蜂駭鐢熷獎鍝嶇殑銆?
聽聽
聽聽銆銆Bob錛屼竴涓笉瀹夌殑鍟嗗姟鏃呰鑰咃紝鍦ㄨ姖鍔犲摜涓嬩簡椋炴満錛岀獊鐒舵兂璧蜂粬绔熷繕浜嗗甫涓婁粬鐨勯偅閮ㄦ櫤鑳界數璇濄傝繖涓嬪畬浜嗭紝娌′簡榪欑數璇濅粬鏃犳硶鐭ラ亾鏅氬鍦ㄥ摢閲岃繘琛岋紝鏃犳硶鐭ラ亾鍘熸湰鎵撶畻鍦ㄦ櫄瀹翠笂瑙侀潰鐨勪漢鐨勭數璇濆彿鐮侊紝鏇存儴鐨勬槸錛屼粬鏃犳硶鍦ㄨ繖涓叧閿殑浼氳涔嬪墠鍐嶇湅涓涓嬮噸瑕佺殑鏂囦歡銆備絾涓嶇敤鎬ワ紝浠栦粠鏈哄満鐨勭浜嗕竴閮ㄦ櫤鑳界數璇濓紝鎻掑叆浜嗚嚜宸辯殑鏅鴻兘鍗°傚緢蹇氳繃鍐呯疆鐨処nternet榪炴帴錛屽悇縐嶇浉鍏崇殑閲嶈鏁版嵁鍏ㄩ儴琚笅杞戒簡涓嬫潵錛岀幇鍦ㄤ粬鑳借闂粬鐨勬墍鏈変俊鎭紝涓嶅厜鏄棩紼嬪畨鎺掑拰鐢佃瘽綈匡紝榪樻湁鎵鏈夐氬父鐢ㄤ粬鐨凱C鏈鴻兘璁塊棶鍒扮殑鎵浠ユ枃浠躲?
聽聽
聽聽銆銆涓嶅垢鐨勬槸錛屼粬鍦ㄧ寮鏈哄満鏃朵笉灝忓績鍦ㄨ嚜鍔ㄦ壎姊笂緇婁簡涓璺わ紝鑴氳笣涓ラ噸鎵激錛岃繖涓湀榪欏凡緇忔槸絎簩嬈′簡銆傛棤濂堬紝浠栧己蹇嶇柤鐥涜姹傜數璇濇帴Roger鍖葷敓鐨勫姙鍏錛屽惉鐢佃瘽鐨勬槸鎺ュ緟鍛楳ildred灝忓銆侭ob閫氳繃鐢佃瘽紜浜嗚嚜宸辯殑韜喚錛屼粬鎺堟潈浜嶮ildred灝忓錛岃濂硅闂嚜宸辯殑鎵鍦ㄤ綅緗拰鍏朵粬涓浜涗俊鎭紝浠ヤ究浣垮ス鍙互鍦ㄩ檮榪戞壘涓瀹舵暣褰㈠縐戣瘖鎵銆侻ildred鑳藉鐭ラ亾鍝璇婃墍姝e湪钀ヤ笟錛屾湁澶氳繙錛屾槸鍚︽帴鍙桞ob鐨勪繚闄┿侭ob鎵瑕佸仛鐨勫氨鏄交鎸夌數璇濅笂鐨勬寜閽巿鏉冪粰濂癸紝Mildred鍦ㄦ壘鍒拌瘖鎵鍚庝究浼氬拰鍖葷敓綰︽椂闂淬?
聽聽
聽聽銆銆涓嶮ildred閫氳瘽緇撴潫鍚庯紝Bob鐢ㄤ粬鐨勬櫤鑳界數璇濊闂嚭縐熻濺鏈嶅姟錛屾煡鎵劇浠栨渶榪戠殑鍑虹杞︼紝騫剁‘璁ょ洰鐨勫湴銆傛帴涓嬫潵Bob鍙渶鐖繘杞﹀唴錛岃交鎸夌數璇濈殑鏄劇ず灞忕‘璁ゆ敮浠樼殑璐圭敤鍗沖彲銆?
聽聽
聽聽銆銆浠庣敤鎴瘋搴︽潵璁詫紝
.NET鎻愪緵鐨勫ソ澶勫嵆瓚呰繃浜嗙幇鍦ㄧ殑鐙珛鐨勭▼搴忥紝涔熻儨榪囦簡綰補鐨刉eb绔欑偣銆?/font>XML Web鏈嶅姟鎷ユ湁浼犵粺鐨?/font>杞歡鍔熻兘錛屽鍒涘緩鏂囨。銆佽綆楁暟瀛椼佸瓨鍌ㄦ暟鎹瓑銆傝屼笖鍦ㄤ笅綰垮悗涔熻兘鎻愪緵鏈嶅姟錛屾瘮濡傚懠鍙嚭縐熻濺錛岃繖騫朵笉闇瑕丆PU鐨勫弬涓庛?
聽聽
聽聽銆銆浠庝笂闈㈢殑渚嬪瓙鎴戜滑鍙互鐪嬪埌錛?/font>XML Web鏈嶅姟浣跨粓绔敤鎴峰緱鍒頒簡鏇翠負涓у寲鐨勩佺患鍚堟х殑浣撻獙錛屽悓鏃朵究鎹蜂篃鏄?/font>.NET緇欐垜浠甫鏉ョ殑涓澶уソ澶勩?
聽聽
聽聽銆銆瀵逛紒涓氱殑鏀瑰彉
聽聽
聽聽銆銆Bob閭d笉璧拌繍鐨勫晢鍔℃梾琛岀粨鏉熶簡錛屼粬韞掕窔鍦板洖鍒頒簡瀹?铏界劧閭d釜鏅氬闈炲父鎴愬姛錛屼絾鐜板湪浠栦笉寰椾笉闈㈠鍏釜鏄熸湡鐨勮韓浣撴不鐤?銆傛帴涓嬫潵錛孊ob瑕佹彁浜よ垂鐢ㄦ姤鍛娿備粬鎷垮嚭浜嗕粬鐨凱DA錛岄獙鏄庤韓浠藉悗錛孭DA鍒楀嚭浜嗗叾淇$敤鍗′笂鐨勬敮浠樼邯褰曘備粬鏍囧嚭浜嗕笌榪欐鑺濆姞鍝ヤ箣琛屾湁鍏崇殑璐圭敤錛岃嚦浜庨偅浜涙鐥涜嵂鍜屽瘎縐佷漢淇′歡鐨勮垂鐢紝浠栨爣涓轟釜浜哄紑閿銆備俊鐢ㄥ崱鍏徃灝嗕負鍏剁敓鎴愬繀瑕佺殑璐﹀崟銆?
聽聽
聽聽銆銆鍥犱負Bob鏍囪浜嗕竴浜涗釜浜鴻垂鐢紝鎵浠ヤ俊鐢ㄥ崱鍏徃灝嗘牴鎹粬鎸囧畾鐨勬柟娉曚負Bob鐢熸垚涓寮犱釜浜哄笎鍗曘傚湪榪欎釜渚嬪瓙涓紝Bob浣跨敤鐨勬槸鐩存帴浠庝粬閾惰璐﹀彿涓彁閽辯殑鏂規硶錛屼絾鍚屾椂浠栦篃瑕佷竴浠借嵂璐瑰紑鏀姤鍛婄殑紜嫹璐濄傛牴鎹粬鐨勯夋嫨錛屼俊鐢ㄥ崱鍏徃浼欵mail鍙戠粰浠栦竴涓狿DF鏂囨。錛孊ob鍙渶灝嗗畠鎵撳嵃鍑烘潵鍗沖彲銆?
聽聽
聽聽銆銆瀵逛簬閭d簺涓氬姟涓婄殑寮鏀紝淇$敤鍗″叕鍙鎬細緇橞ob鐨勫叕鍙稿彂鍑轟竴寮犵數瀛愬笎鍗曪紝瀹冭閫佸埌鍏徃鐨勪細璁¢儴闂紝鐢卞叕鍙鎬細璁hris鏉ュ鐞嗐傜數瀛愬笎鍗曞埌杈炬椂錛孋hris浼氭敹鍒頒竴灝佽嚜鍔ㄧ敓鎴愮殑Email錛岄殢鍚庝粬鐧誨綍浼氳緋葷粺鎵撳紑榪欎喚甯愬崟銆備粬浠旂粏媯鏌ユ瘡涓絎旇垂鐢紝娌¢棶棰樺悗錛屼粬榪涜鏀粯錛岃繖涔熷氨鏄巿鏉冨皢涓絎旈噾浠庡叕鍙哥殑璐︽埛杞Щ鍒頒俊鐢ㄥ崱鍏徃鐨勮處鎴蜂笂銆?
聽聽
聽聽銆銆浠庝紒涓氳搴﹁錛?/font>.NET鑳藉鑷姩鍦板鐞嗗緢澶氫換鍔★紝鑺傜害浜嗗憳宸ョ殑澶ч噺鏃墮棿銆傚綋鐢?/font>XML灝嗙郴緇熷拰XML Web鏈嶅姟榪炴帴璧鋒潵鍚庯紝鏁版嵁浜ゆ崲鍙樺緱闈炲父鏂逛究錛屾暟鎹鐞嗕篃鍙樺緱杞昏屾槗涓俱傚湪榪欎釜渚嬪瓙涓紝鍛樺伐Bob鍜孋hris鍒嗗埆鍙鍗曞嚮涓涓?鍚屾剰"鍜屽惎鍔ㄤ竴涓簨鍔″鐞嗭紝鏃犻渶鑺卞ぇ閲忕殑鏃墮棿鍘誨~鍐欐姤閿鍗曟垨鏄線浼氳緋葷粺涓墜宸ュ綍鍏ユ暟鎹紝涓鍒囬兘鍙樺緱闈炲父涔嬬畝鍗曘?
聽聽
聽聽銆銆瀵逛紒涓氬拰浼佷笟緇堢鐢ㄦ埛鏉ヨ錛?/font>.NET棰勭ず榪欎簺浠?/font>XML Web鏈嶅姟琛嶇敓鍑烘潵鐨勫簲鐢ㄧ▼搴忔湁鐫寰堝己鐨勪釜鎬у寲鍜岄珮搴︾殑鏁村悎鎬х殑鐗圭偣錛屽悓鏃跺畠浠傜敤浜庡悇縐嶆櫤鑳借澶囷紝鍏鋒湁鐩稿綋鐨勭伒媧繪с?
聽聽
聽聽銆銆浠涔堜笢瑗挎病鏈夊彉
聽聽
聽聽銆銆灝界Microsoft
.NET緇欒綆楀甫鏉ヤ簡涓浜涚炕澶╄鍦扮殑鍙樺寲錛屼絾榪樻湁寰堝涓滆タ渚濈劧娌℃湁鏀瑰彉.
聽聽
聽聽銆銆鈼忕粓绔敤鎴峰皢渚濈劧浣跨敤鐔熸倝鐨勭晫闈紝灝卞儚
.NET浣撻獙涓殑Microsoft Office涓鏍楓傝繖鍙互鍑忓皯鍐嶅煿璁殑寮鏀紝涔熸剰鍛崇潃鐢ㄦ埛鍙互椹笂寮濮嬩嬌鐢?/font>.NET杞歡銆?
聽聽
聽聽銆銆鈼?/font>紜歡涓婅繍琛岀殑榪樻槸璞indows銆乁nix銆乄indows CE鍜孭alm OS涓鏍風殑鎿嶄綔緋葷粺銆傚疄闄呬笂錛?/font>.NET澧炲姞浜?/font>杞歡鐨勮繍琛屽満鎵錛屼絾鍚屾椂鍑忓皯浜嗗紑鍙戠殑璐熸媴銆傜敱浜?/font>XML Web鏈嶅姟鍙嬌鐢?/font>XML涓庤澶囬氫俊錛屾墍浠ヤ換浣曟櫤鑳借澶囬兘鍙互浜敤XML Web鏈嶅姟銆?
聽聽
聽聽銆銆鈼忓紼嬪簭鍛樻潵璇達紝浠栦滑渚濈劧鍙互浣跨敤浠栦滑鍘熷厛鐔熸倝鐨?/font>緙栫▼璇█銆?/font>.NET騫沖彴鍊熷姪浜?/font>.NET妗嗘灦鐨勫叕鍏辮璦榪愯鏃墮棿搴?CLR)浣垮緱鐢ㄤ笉鍚岃璦寮鍙戠殑XML Web鏈嶅姟涔嬮棿涔熷彲浠ョ浉浜掓搷浣溿傛湁娌℃湁.NET浣撻獙闂涓嶅ぇ錛屼綘渚濇棫鍙互鐢╒isual Basic銆丣ava銆佺敋鑷蟲槸COBOL鍒涘緩XML Web鏈嶅姟銆傝繖縐嶅緙栫▼璇█鐨勪腑绔嬫ф剰鍛崇潃涓嶇敤涓轟簡榪涘叆.NET涓栫晫鑰屾姏寮冨凡鏈夌殑鎶曡祫銆?
聽聽
聽聽銆銆鈼忓師鍏堢郴緇熸棤闇琚浛鎹€備竴閮ㄥ垎鐨凪icrosoft
.NET浜у搧灝辨槸涓轟簡鑳芥柟渚垮湴灝嗙幇鏈夌殑緋葷粺鏁村悎鍒版柊錛岀殑XML Web鏈嶅姟鍜?/font>.NET浣撻獙涓幓鑰岃璁$殑銆侶ost Integration Server灝辨槸涓緥瀛愶紝瀹冪畝鍖栦簡瀵逛富鏈虹殑璁塊棶銆傚啀姣斿灝辨槸BizTalk Server,瀹冪鐞嗙殑鍟嗗姟嫻佺▼(business process orchestration)鍖呮嫭浜嗗鐜版湁緋葷粺鍜屾暟鎹牸寮忕殑鏀寔錛屽茍浼氭墽琛屼竴浜涘繀瑕佺殑杞崲錛屽皢鏁版嵁杞垚XML銆?
聽聽
聽聽銆銆銆鎵浠ヨ繖縐嶄笅涓浠g殑鍒嗗竷寮忚綆楁槸寤虹珛鍦ㄧ洰鍓嶈繖涓浠e熀紜涓婄殑銆侻icrosoft
.NET涓嶆槸鎴戜滑鎵鎯寵薄鐨勯偅鏍鳳紝瀵圭幇鍦ㄧ殑搴旂敤杞歡浣滃ぇ瑙勬ā鐨勬浛鎹紝鑰屾槸涓涓嚜鐒剁殑榪涘寲榪囩▼錛屽湪鍘熷厛鐨勬妧鏈宀涗箣闂村緩绔嬩簡鍗忎綔鍏崇郴錛屽崗鍚屽伐浣滆兘鍔涢愭笎鍔犲己錛屾垜浠篃灝嗕粠涓彈鐩婃棤絀楓?
聽聽
聽聽銆銆鎬葷粨
聽聽
聽聽銆銆Microsoft
.NET鏄疢icrosoft鐨?/font>XML Web鏈嶅姟鐨勫鉤鍙般傝繖鏄笅涓浠g殑Internet璁$畻妯″瀷錛屽悇涓?/font>XML Web鏈嶅姟涔嬮棿褰兼鏄澗鑰﹀悎鐨勶紝閫氳繃XML榪涜閫氳錛屽崗鍚屽畬鎴愭煇涓鐗瑰畾鐨勪換鍔°侻icrosoft .NET鎴樼暐鎻愪緵浜嗕竴涓敤浠ュ緩绔嬫柊.NET浣撻獙鐨?/font>杞歡騫沖彴銆佷竴涓?/font>緙栫▼妯″瀷銆佺敤浠ュ緩绔嬪拰鏁村悎XML Web鏈嶅姟鐨勫伐鍏蜂互鍙婁竴濂楀彲緙栫▼鐨刉eb鎺ュ彛銆?
聽聽
聽聽銆銆鐜板湪鎴戜滑姝e浜庡悜
.NET杞彉鐨勮繃紼嬩腑銆侻icrosoft宸茬粡瀹e竷浜?/font>.NET妗嗘灦鐨勭涓涓儴鍒?-.NET騫沖彴銆乂isual Studio.NET鍜屼竴浜涘潡鏋勫緩鏈嶅姟浠ュ強鏈鍒濈殑.NET浣撻獙銆侻icrosoft鍦ㄤ粖騫村拰鏄庡勾涓皢浼氭彁渚涙洿澶氱殑宸ュ叿鍜屾湇鍔°?/font>


Bourne 2006-09-28 11:03 鍙戣〃璇勮
]]>
璇█涓撻鈥斺旀爣鍑嗗簱http://www.shnenglu.com/bourne/archive/2006/07/28/10629.htmlBourneBourneFri, 28 Jul 2006 02:35:00 GMThttp://www.shnenglu.com/bourne/archive/2006/07/28/10629.htmlhttp://www.shnenglu.com/bourne/comments/10629.htmlhttp://www.shnenglu.com/bourne/archive/2006/07/28/10629.html#Feedback0http://www.shnenglu.com/bourne/comments/commentRss/10629.htmlhttp://www.shnenglu.com/bourne/services/trackbacks/10629.html
鐢ㄦ硶錛?include <string.h>

鍔熻兘錛氱敱src鎵鎸囧唴瀛樺尯鍩熷鍒禼ount涓瓧鑺傚埌dest鎵鎸囧唴瀛樺尯鍩熴?br />
璇存槑錛歴rc鍜宒est鎵鎸囧唴瀛樺尯鍩熶笉鑳介噸鍙狅紝鍑芥暟榪斿洖鎸囧悜dest鐨勬寚閽堛?br />
涓句緥錛?br />
// memcpy.c

#include <syslib.h>
#include <string.h>

main()
{
char *s="Golden Global View";
char d[20];

clrscr();

memcpy(d,s,strlen(s));
d[strlen(s)]=0;
printf("%s",d);

getchar();
return 0;
}

鍘熷瀷錛歟xtern char *strchr(char *s,char c);

鐢ㄦ硶錛?include <string.h>

鍔熻兘錛氭煡鎵懼瓧絎︿覆s涓嬈″嚭鐜板瓧絎鐨勪綅緗?br />
璇存槑錛氳繑鍥為嬈″嚭鐜癱鐨勪綅緗殑鎸囬拡錛屽鏋渟涓笉瀛樺湪c鍒欒繑鍥濶ULL銆?br />
涓句緥錛?br />

// strchr.c

#include <syslib.h>
#include <string.h>

main()
{
char *s="Golden Global View";
char *p;

clrscr();

strchr(s,'V');
if(p)
printf("%s",p);
else
printf("Not Found!");

getchar();
return 0;
}

1 澶嶅埗

char* strcpy (char *s1, const char *s2);
灝嗗瓧絎︿覆s2澶嶅埗鍒?/span>s1鎸囧畾鐨勫湴鍧

char* strncpy (char *s1, const char *s2, size_t len);
void* memcpy (void *s1, const void *s2, size_t len);
灝?/span>s2鐨勫墠len涓瓧絎?/span>(瀛楄妭)澶嶅埗鍒?/span>s1涓寚瀹氱殑鍦板潃, 涓嶅姞'\0'

void* memmove (void *s1, const void *s2, size_t len);
褰撴簮鍗曞厓鍜岀洰鐨勫崟鍏冪紦鍐插尯浜よ凱鏃朵嬌鐢?/span>

size_t strxfrm (char *s1, const char *s1, size_t len);
鏍規嵁紼嬪簭褰撳墠鐨勫尯鍩熼夐」, 灝?/span>s2鐨勫墠len涓瓧絎?/span>(瀛楄妭)澶嶅埗鍒?/span>s1涓寚瀹氱殑鍦板潃, 涓嶅姞'\0'


2
榪炴帴

char* strcat (char *s1, const char *s2);
灝嗗瓧絎︿覆s2榪炴帴鍒?/span>s1灝鵑儴

char* strncat (char *s1, const char *s2, size_t len);
灝嗗瓧絎︿覆s2鐨勫墠len涓瓧絎﹁繛鎺ュ埌s1灝鵑儴, 涓嶅姞'\0'


3
姣旇緝

int strcmp (const char *s1, const char *s2);
姣旇緝瀛楃涓?/span>s1鍜?/span>s2

int strncmp (const char *s1, const char *s2, size_t len);
int memcmp (const void *s1, const void *s2, size_t len);
瀵?/span>s1鍜?/span>s2鐨勫墠len涓瓧絎?/span>(瀛楄妭)浣滄瘮杈?/span>

int strcoll (const char *s1, const char *s2);
鏍規嵁紼嬪簭褰撳墠鐨勫尯鍩熼夐」涓殑LC_COLLATE, 姣旇緝瀛楃涓?/span>s1鍜?/span>s2


4
鏌ユ壘

char* strchr (const char *s, int ch);
void* memchr (const void *s, int ch, size_t len);

鍦?/span>s涓煡鎵劇粰瀹氬瓧絎?/span>(瀛楄妭鍊?/span>)ch絎竴嬈″嚭鐜扮殑浣嶇疆

char* strrchr (const char *s, int ch);
鍦ㄤ覆s涓煡鎵劇粰瀹氬瓧絎?/span>ch鏈鍚庝竴嬈″嚭鐜扮殑浣嶇疆, r琛ㄧず浠庝覆灝懼紑濮?/span>

char* strstr (const char *s1, const char *s2);
鍦ㄤ覆s1涓煡鎵炬寚瀹氬瓧絎︿覆s2絎竴嬈″嚭鐜扮殑浣嶇疆

size_t strspn (const char *s1, const char *s2);
榪斿洖s1涓涓涓湪s2涓笉瀛樺湪鐨勫瓧絎︾殑绱㈠紩(find_first_not_of)

size_t strcspn (const char *s1, const char *s2);
榪斿洖s1涓涓涓篃鍦?/span>s2涓瓨鍦ㄧ殑瀛楃鐨勭儲寮?/span>(find_first_of)

char* strpbrk (const char *s1, const char *s2);
涓?/span>strcspn綾諱技, 鍖哄埆鏄繑鍥炴寚閽堣屼笉鏄儲寮?/span>

char* strtok (char *s1, const char *s2);
浠庝覆s1涓垎紱誨嚭鐢變覆s2涓寚瀹氱殑鍒嗙晫絎﹀垎闅斿紑鐨勮鍙?/span>
(token)
絎竴嬈¤皟鐢ㄦ椂s1涓洪渶鍒嗗壊鐨勫瓧涓?/span>, 姝ゅ悗姣忔璋冪敤閮藉皢s1緗負
NULL,
姣忔璋冪敤strtok榪斿洖涓涓鍙?/span>, 鐩村埌榪斿洖NULL涓烘


5
鍏朵粬

size_t strlen (const char *s);
姹傚瓧絎︿覆s鐨勯暱搴?/span>

void* memset (void *s, int val, size_t len);
灝嗕粠s寮濮嬬殑len涓瓧鑺傜疆涓?/span>val

char* strerror (int errno);
榪斿洖鎸囧悜閿欒淇℃伅瀛楃涓茬殑鎸囬拡

source: 銆?/span>C & C++ Code Capsules銆?/span>


Bourne 2006-07-28 10:35 鍙戣〃璇勮
]]>
KMP瀛楃涓插尮閰嶇畻娉旵璇█瀹炵幇http://www.shnenglu.com/bourne/archive/2006/07/05/9472.htmlBourneBourneWed, 05 Jul 2006 15:48:00 GMThttp://www.shnenglu.com/bourne/archive/2006/07/05/9472.htmlhttp://www.shnenglu.com/bourne/comments/9472.htmlhttp://www.shnenglu.com/bourne/archive/2006/07/05/9472.html#Feedback4http://www.shnenglu.com/bourne/comments/commentRss/9472.htmlhttp://www.shnenglu.com/bourne/services/trackbacks/9472.html錛僫 nclude <stdio.h>
錛僫 nclude <stdlib.h>
錛僫 nclude <string.h>
錛僫 nclude <time.h>

//鑾峰緱prefix鏁扮粍
int* GetPrefixValue(char* strPattern, int iPatternLen)
{
聽聽聽 int i, j; /* i runs through the string, j counts the hits*/
聽聽聽 int* prefix = (int*)malloc(iPatternLen*sizeof(int));
聽聽聽
聽聽聽 i = 1; j = 0;
聽聽聽 prefix[0] = 0;
聽聽聽
聽聽聽 while(i<iPatternLen)
聽聽聽 {
聽聽聽聽聽聽聽 if(strPattern[i] == strPattern[j])
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽 prefix[i] = ++j;
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 else
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽 j = 0;
聽聽聽聽聽聽聽聽聽聽聽 prefix[i] = j;
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽
聽聽聽聽聽聽聽 i++;
聽聽聽 }
聽聽聽
聽聽聽 return prefix;聽聽聽聽聽聽聽聽聽聽
}聽聽聽

//榪斿洖target涓插湪pattern涓蹭腑絎竴嬈″尮閰嶇殑index
int KMPStringMatch(char* strPattern, int iPatternLen, char* strTarget, int iTargetLen, int* prefix)
{
聽聽聽 int i = 0;
聽聽聽 int j = 0;
聽聽聽
聽聽聽 while(i<iPatternLen && j<iTargetLen)
聽聽聽 {
聽聽聽聽聽聽聽 if(j==0 || strPattern[i]==strTarget[j])
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽 i++;聽 j++;
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 else
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽 j = prefix[j];
聽聽聽聽聽聽聽 }
聽聽聽 }聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽
聽聽聽 free(prefix);
聽聽聽聽
聽聽聽 if(j==iTargetLen)
聽聽聽 {
聽聽聽聽聽聽聽 return i-j;
聽聽聽 }
聽聽聽 else
聽聽聽 {
聽聽聽聽聽聽聽 return -1;
聽聽聽 }聽聽聽聽聽聽聽聽
}聽聽聽聽聽聽聽聽

int KMP(char* strPattern, char* strTarget)
{
聽聽聽 int* prefix = GetPrefixValue(strPattern, strlen(strPattern));
聽聽聽 int index = KMPStringMatch(strPattern, strlen(strPattern), strTarget, strlen(strTarget), prefix);
聽聽聽 return index;
}

//鍦ㄦ枃鏈枃浠朵腑鏌ユ壘target涓插嚭鐜扮殑琛屾暟
int SearchInTxtFile(char* fileName, char* strTarget)
{
聽聽聽 FILE* hFile = fopen(fileName, "r");
聽聽聽
聽聽聽 char str[1024];
聽聽聽 int count = 0;
聽聽聽
聽聽聽
聽聽聽 while(fgets(str, 1024, hFile))聽
聽聽聽 {
聽聽聽聽聽聽聽 if(KMP(str, strTarget)!=-1)
聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽 count++;
聽聽聽聽聽聽聽 }聽聽聽
聽聽聽 }聽聽聽聽聽
聽聽聽
聽聽聽 fclose(hFile);
聽聽聽 hFile=NULL;
聽聽聽
聽聽聽 return count;
}聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽
int main()
{
聽聽聽 char ch;
聽聽聽 char str1[] = "abcabcabctasksb,abTo";
聽聽聽 char str2[] = "abc";
聽聽聽
聽聽聽 double t=clock();
聽聽聽 printf("%d\n", KMP(str1,str2));
聽聽聽 printf("鑰楁椂錛?f姣錛乗n", (clock()-t));
聽聽聽
聽聽聽 t=clock();
聽聽聽 printf("find %d \n", SearchInTxtFile("c:\\txt.txt", "NULL"));
聽聽聽 printf("鑰楁椂錛?f姣錛乗n", (clock()-t));
聽聽聽 scanf("%c", &ch);

聽聽聽 return 0;
}聽



Bourne 2006-07-05 23:48 鍙戣〃璇勮
]]>
c/c++涓殑鏃墮棿鍑芥暟http://www.shnenglu.com/bourne/archive/2006/07/05/9423.htmlBourneBourneWed, 05 Jul 2006 04:12:00 GMThttp://www.shnenglu.com/bourne/archive/2006/07/05/9423.htmlhttp://www.shnenglu.com/bourne/comments/9423.htmlhttp://www.shnenglu.com/bourne/archive/2006/07/05/9423.html#Feedback1http://www.shnenglu.com/bourne/comments/commentRss/9423.htmlhttp://www.shnenglu.com/bourne/services/trackbacks/9423.html鎽樿錛?br />鏈枃浠庝粙緇嶅熀紜姒傚康鍏ユ墜錛屾帰璁ㄤ簡鍦–/C++涓鏃ユ湡鍜屾椂闂存搷浣滄墍鐢ㄥ埌鐨勬暟鎹粨鏋勫拰鍑芥暟錛屽茍瀵硅鏃躲佹椂闂寸殑鑾峰彇銆佹椂闂寸殑璁$畻鍜屾樉紺烘牸寮忕瓑鏂歸潰榪涜浜嗛槓榪般傛湰鏂囪繕閫氳繃澶ч噺鐨勫疄渚嬪悜浣犲睍紺轟簡time.h澶存枃浠朵腑澹版槑鐨勫悇縐嶅嚱鏁板拰鏁版嵁緇撴瀯鐨勮緇嗕嬌鐢ㄦ柟娉曘?br />
鍏抽敭瀛楋細UTC錛堜笘鐣屾爣鍑嗘椂闂達級錛孋alendar Time錛堟棩鍘嗘椂闂達級錛宔poch錛堟椂闂寸偣錛夛紝clock tick錛堟椂閽熻鏃跺崟鍏冿級

1錛庢蹇?br />鍦–/C++涓紝瀵瑰瓧絎︿覆鐨勬搷浣滄湁寰堝鍊煎緱娉ㄦ剰鐨勯棶棰橈紝鍚屾牱錛孋/C++瀵規椂闂寸殑鎿嶄綔涔熸湁璁稿鍊煎緱澶у娉ㄦ剰鐨勫湴鏂廣傛渶榪戯紝鍦ㄦ妧鏈兢涓湁寰堝緗戝弸涔熷嬈¢棶鍒拌繃C++璇█涓鏃墮棿鐨勬搷浣溿佽幏鍙栧拰鏄劇ず絳夌瓑鐨勯棶棰樸備笅闈紝鍦ㄨ繖綃囨枃绔犱腑錛岀瑪鑰呭皢涓昏浠嬬粛鍦–/C++涓椂闂村拰鏃ユ湡鐨勪嬌鐢ㄦ柟娉?

閫氳繃瀛︿範璁稿C/C++搴擄紝浣犲彲浠ユ湁寰堝鎿嶄綔銆佷嬌鐢ㄦ椂闂寸殑鏂規硶銆備絾鍦ㄨ繖涔嬪墠浣犻渶瑕佷簡瑙d竴浜涒滄椂闂粹濆拰鈥滄棩鏈熲濈殑姒傚康錛屼富瑕佹湁浠ヤ笅鍑犱釜錛?br />
Coordinated Universal Time錛圲TC錛夛細鍗忚皟涓栫晫鏃訛紝鍙堢О涓轟笘鐣屾爣鍑嗘椂闂達紝涔熷氨鏄ぇ瀹舵墍鐔熺煡鐨勬牸鏋楀▉娌繪爣鍑嗘椂闂達紙Greenwich Mean Time錛孏MT錛夈傛瘮濡傦紝涓浗鍐呭湴鐨勬椂闂翠笌UTC鐨勬椂宸負+8錛屼篃灝辨槸UTC+8銆傜編鍥芥槸UTC-5銆?br />
Calendar Time錛氭棩鍘嗘椂闂達紝鏄敤鈥滀粠涓涓爣鍑嗘椂闂寸偣鍒版鏃剁殑鏃墮棿緇忚繃鐨勭鏁扳濇潵琛ㄧず鐨勬椂闂淬傝繖涓爣鍑嗘椂闂寸偣瀵逛笉鍚岀殑緙栬瘧鍣ㄦ潵璇翠細鏈夋墍涓嶅悓錛屼絾瀵逛竴涓紪璇戠郴緇熸潵璇達紝榪欎釜鏍囧噯鏃墮棿鐐規槸涓嶅彉鐨勶紝璇ョ紪璇戠郴緇熶腑鐨勬椂闂村搴旂殑鏃ュ巻鏃墮棿閮介氳繃璇ユ爣鍑嗘椂闂寸偣鏉ヨ 閲忥紝鎵浠ュ彲浠ヨ鏃ュ巻鏃墮棿鏄滅浉瀵規椂闂粹濓紝浣嗘槸鏃犺浣犲湪鍝竴涓椂鍖猴紝鍦ㄥ悓涓鏃跺埢瀵瑰悓涓涓爣鍑嗘椂闂寸偣鏉ヨ錛屾棩鍘嗘椂闂撮兘鏄竴鏍風殑銆?br />
epoch錛氭椂闂寸偣銆傛椂闂寸偣鍦ㄦ爣鍑咰/C++涓槸涓涓暣鏁幫紝瀹冪敤姝ゆ椂鐨勬椂闂村拰鏍囧噯鏃墮棿鐐圭浉宸殑縐掓暟錛堝嵆鏃ュ巻鏃墮棿錛夋潵琛ㄧず銆?br />
clock tick錛氭椂閽熻鏃跺崟鍏冿紙鑰屼笉鎶婂畠鍙仛鏃墮挓婊寸瓟嬈℃暟錛夛紝涓涓椂閽熻鏃跺崟鍏冪殑鏃墮棿闀跨煭鏄敱CPU鎺у埗鐨勩備竴涓猚lock tick涓嶆槸CPU鐨勪竴涓椂閽熷懆鏈燂紝鑰屾槸C/C++鐨勪竴涓熀鏈鏃跺崟浣嶃?br />
鎴戜滑鍙互浣跨敤ANSI鏍囧噯搴撲腑鐨則ime.h澶存枃浠躲傝繖涓ご鏂囦歡涓畾涔夌殑鏃墮棿鍜屾棩鏈熸墍浣跨敤鐨勬柟娉曪紝鏃犺鏄湪緇撴瀯瀹氫箟錛岃繕鏄懡鍚嶏紝閮藉叿鏈夋槑鏄劇殑C璇█椋庢牸銆備笅闈紝鎴戝皢璇存槑鍦–/C++涓庢牱浣跨敤鏃ユ湡鐨勬椂闂村姛鑳姐?br />
2錛?璁℃椂

C/C++涓殑璁℃椂鍑芥暟鏄痗lock()錛岃屼笌鍏剁浉鍏崇殑鏁版嵁綾誨瀷鏄痗lock_t銆傚湪MSDN涓紝鏌ュ緱瀵筩lock鍑芥暟瀹氫箟濡備笅錛?br />
clock_t clock( void );

榪欎釜鍑芥暟榪斿洖浠庘滃紑鍚繖涓▼搴忚繘紼嬧濆埌鈥滅▼搴忎腑璋冪敤clock()鍑芥暟鈥濇椂涔嬮棿鐨凜PU鏃墮挓璁℃椂鍗曞厓錛坈lock tick錛夋暟錛屽湪MSDN涓О涔嬩負鎸傞挓鏃墮棿錛坵al-clock錛夈傚叾涓璫lock_t鏄敤鏉ヤ繚瀛樻椂闂寸殑鏁版嵁綾誨瀷錛屽湪time.h鏂囦歡涓紝鎴戜滑鍙互鎵懼埌瀵瑰畠鐨勫畾涔夛細

#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif

寰堟槑鏄撅紝clock_t鏄竴涓暱鏁村艦鏁般傚湪time.h鏂囦歡涓紝榪樺畾涔変簡涓涓父閲廋LOCKS_PER_SEC錛屽畠鐢ㄦ潵琛ㄧず涓縐掗挓浼氭湁澶氬皯涓椂閽熻鏃跺崟鍏冿紝鍏跺畾涔夊涓嬶細

#define CLOCKS_PER_SEC ((clock_t)1000)

鍙互鐪嬪埌姣忚繃鍗冨垎涔嬩竴縐掞紙1姣錛夛紝璋冪敤clock錛堬級鍑芥暟榪斿洖鐨勫煎氨鍔?銆備笅闈婦涓緥瀛愶紝浣犲彲浠ヤ嬌鐢ㄥ叕寮廲lock()/CLOCKS_PER_SEC鏉ヨ綆椾竴涓繘紼嬭嚜韜殑榪愯鏃墮棿錛?br />
void elapsed_time()
{
printf("Elapsed time:%u secs.\n",clock()/CLOCKS_PER_SEC);
}

褰撶劧錛屼綘涔熷彲浠ョ敤clock鍑芥暟鏉ヨ綆椾綘鐨勬満鍣ㄨ繍琛屼竴涓驚鐜垨鑰呭鐞嗗叾瀹冧簨浠跺埌搴曡姳浜嗗灝戞椂闂達細

#include 鈥渟tdio.h鈥?br />#include 鈥渟tdlib.h鈥?br />#include 鈥渢ime.h鈥?br />
int main( void )
{
聽聽聽long聽聽聽聽i = 10000000L;
聽聽聽clock_t start, finish;
聽聽聽double聽聽duration;
聽聽聽/* 嫻嬮噺涓涓簨浠舵寔緇殑鏃墮棿*/
聽聽聽printf( "Time to do %ld empty loops is ", i );
聽聽聽start = clock();
聽聽聽while( i-- )聽聽聽聽聽聽;
聽聽聽finish = clock();
聽聽聽duration = (double)(finish - start) / CLOCKS_PER_SEC;
聽聽聽printf( "%f seconds\n", duration );
聽聽聽system("pause");
}

鍦ㄧ瑪鑰呯殑鏈哄櫒涓婏紝榪愯緇撴灉濡備笅錛?br />
Time to do 10000000 empty loops is 0.03000 seconds

涓婇潰鎴戜滑鐪嬪埌鏃墮挓璁℃椂鍗曞厓鐨勯暱搴︿負1姣錛岄偅涔堣鏃剁殑綺懼害涔熶負1姣錛岄偅涔堟垜浠彲涓嶅彲浠ラ氳繃鏀瑰彉CLOCKS_PER_SEC鐨勫畾涔夛紝閫氳繃鎶婂畠瀹氫箟鐨勫ぇ涓浜涳紝浠庤屼嬌璁℃椂綺懼害鏇撮珮鍛紵閫氳繃灝濊瘯錛屼綘浼氬彂鐜拌繖鏍鋒槸涓嶈鐨勩傚湪鏍囧噯C/C++涓紝鏈灝忕殑璁℃椂鍗曚綅鏄竴姣銆?br />
3錛庝笌鏃ユ湡鍜屾椂闂寸浉鍏崇殑鏁版嵁緇撴瀯

鍦ㄦ爣鍑咰/C++涓紝鎴戜滑鍙氳繃tm緇撴瀯鏉ヨ幏寰楁棩鏈熷拰鏃墮棿錛宼m緇撴瀯鍦╰ime.h涓殑瀹氫箟濡備笅錛?br />
#ifndef _TM_DEFINED
struct tm {
聽聽聽聽聽聽聽聽int tm_sec;聽聽聽聽聽/* 縐?鈥?鍙栧煎尯闂翠負[0,59] */
聽聽聽聽聽聽聽聽int tm_min;聽聽聽聽聽/* 鍒?- 鍙栧煎尯闂翠負[0,59] */
聽聽聽聽聽聽聽聽int tm_hour;聽聽聽聽/* 鏃?- 鍙栧煎尯闂翠負[0,23] */
聽聽聽聽聽聽聽聽int tm_mday;聽聽聽聽/* 涓涓湀涓殑鏃ユ湡 - 鍙栧煎尯闂翠負[1,31] */
聽聽聽聽聽聽聽聽int tm_mon;聽聽聽聽聽/* 鏈堜喚錛堜粠涓鏈堝紑濮嬶紝0浠h〃涓鏈堬級 - 鍙栧煎尯闂翠負[0,11] */
聽聽聽聽聽聽聽聽int tm_year;聽聽聽聽/* 騫翠喚錛屽叾鍊肩瓑浜庡疄闄呭勾浠藉噺鍘?900 */
聽聽聽聽聽聽聽聽int tm_wday;聽聽聽聽/* 鏄熸湡 鈥?鍙栧煎尯闂翠負[0,6]錛屽叾涓?浠h〃鏄熸湡澶╋紝1浠h〃鏄熸湡涓錛屼互姝ょ被鎺?*/
聽聽聽聽聽聽聽聽int tm_yday;聽聽聽聽/* 浠庢瘡騫寸殑1鏈?鏃ュ紑濮嬬殑澶╂暟 鈥?鍙栧煎尯闂翠負[0,365]錛屽叾涓?浠h〃1鏈?鏃ワ紝1浠h〃1鏈?鏃ワ紝浠ユ綾繪帹 */
聽聽聽聽聽聽聽聽int tm_isdst;聽聽聽/* 澶忎護鏃舵爣璇嗙錛屽疄琛屽浠ゆ椂鐨勬椂鍊欙紝tm_isdst涓烘銆備笉瀹炶澶忎護鏃剁殑榪涘欙紝tm_isdst涓?錛涗笉浜嗚В鎯呭喌鏃訛紝tm_isdst()涓鴻礋銆?/
聽聽聽聽聽聽聽聽};
#define _TM_DEFINED
#endif

ANSI C鏍囧噯縐頒嬌鐢╰m緇撴瀯鐨勮繖縐嶆椂闂磋〃紺轟負鍒嗚В鏃墮棿(broken-down time)銆?br />
鑰屾棩鍘嗘椂闂達紙Calendar Time錛夋槸閫氳繃time_t鏁版嵁綾誨瀷鏉ヨ〃紺虹殑錛岀敤time_t琛ㄧず鐨勬椂闂達紙鏃ュ巻鏃墮棿錛夋槸浠庝竴涓椂闂寸偣錛堜緥濡傦細1970騫?鏈?鏃?鏃?鍒?縐掞級鍒版鏃剁殑縐掓暟銆傚湪time.h涓紝鎴戜滑涔熷彲浠ョ湅鍒皌ime_t鏄竴涓暱鏁村瀷鏁幫細

#ifndef _TIME_T_DEFINED
typedef long time_t;聽聽聽聽聽聽聽聽聽/* 鏃墮棿鍊?*/
#define _TIME_T_DEFINED聽聽聽聽聽聽/* 閬垮厤閲嶅瀹氫箟 time_t */
#endif

澶у鍙兘浼氫駭鐢熺枒闂細鏃㈢劧time_t瀹為檯涓婃槸闀挎暣鍨嬶紝鍒版湭鏉ョ殑鏌愪竴澶╋紝浠庝竴涓椂闂寸偣錛堜竴鑸槸1970騫?鏈?鏃?鏃?鍒?縐掞級鍒伴偅鏃剁殑縐掓暟錛堝嵆鏃ュ巻鏃墮棿錛夎秴鍑轟簡闀挎暣褰㈡墍鑳借〃紺虹殑鏁扮殑鑼冨洿鎬庝箞鍔烇紵瀵箃ime_t鏁版嵁綾誨瀷鐨勫兼潵璇達紝瀹冩墍琛ㄧず鐨勬椂闂翠笉鑳芥櫄浜?038騫?鏈?8鏃?9鏃?4鍒?7縐掋備負浜嗚兘澶熻〃紺烘洿涔呰繙鐨勬椂闂達紝涓浜涚紪璇戝櫒鍘傚晢寮曞叆浜?4浣嶇敋鑷蟲洿闀跨殑鏁村艦鏁版潵淇濆瓨鏃ュ巻鏃墮棿銆傛瘮濡傚井杞湪Visual C++涓噰鐢ㄤ簡__time64_t鏁版嵁綾誨瀷鏉ヤ繚瀛樻棩鍘嗘椂闂達紝騫墮氳繃_time64()鍑芥暟鏉ヨ幏寰楁棩鍘嗘椂闂達紙鑰屼笉鏄氳繃浣跨敤32浣嶅瓧鐨則ime()鍑芥暟錛夛紝榪欐牱灝卞彲浠ラ氳繃璇ユ暟鎹被鍨嬩繚瀛?001騫?鏈?鏃?鏃?鍒?縐掞紙涓嶅寘鎷鏃墮棿鐐癸級涔嬪墠鐨勬椂闂淬?br />
鍦╰ime.h澶存枃浠朵腑錛屾垜浠繕鍙互鐪嬪埌涓浜涘嚱鏁幫紝瀹冧滑閮芥槸浠ime_t涓哄弬鏁扮被鍨嬫垨榪斿洖鍊肩被鍨嬬殑鍑芥暟錛?br />
double difftime(time_t time1, time_t time0);
time_t mktime(struct tm * timeptr);
time_t time(time_t * timer);
char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);

姝ゅ錛宼ime.h榪樻彁渚涗簡涓ょ涓嶅悓鐨勫嚱鏁板皢鏃ュ巻鏃墮棿錛堜竴涓敤time_t琛ㄧず鐨勬暣鏁幫級杞崲涓烘垜浠鉤鏃剁湅鍒扮殑鎶婂勾鏈堟棩鏃跺垎縐掑垎寮鏄劇ず鐨勬椂闂存牸寮弔m錛?br />
struct tm * gmtime(const time_t *timer);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
struct tm * localtime(const time_t * timer);

閫氳繃鏌ラ槄MSDN錛屾垜浠彲浠ョ煡閬揗icrosoft C/C++ 7.0涓椂闂寸偣鐨勫鹼紙time_t瀵硅薄鐨勫鹼級鏄粠1899騫?2鏈?1鏃?鏃?鍒?縐掑埌璇ユ椂闂寸偣鎵緇忚繃鐨勭鏁幫紝鑰屽叾瀹冨悇縐嶇増鏈殑Microsoft C/C++鍜屾墍鏈変笉鍚岀増鏈殑Visual C++閮芥槸璁$畻鐨勪粠1970騫?鏈?鏃?鏃?鍒?縐掑埌璇ユ椂闂寸偣鎵緇忚繃鐨勭鏁般?br />
4錛庝笌鏃ユ湡鍜屾椂闂寸浉鍏崇殑鍑芥暟鍙婂簲鐢?br />鍦ㄦ湰鑺傦紝鎴戝皢鍚戝ぇ瀹跺睍紺烘庢牱鍒╃敤time.h涓0鏄庣殑鍑芥暟瀵規椂闂磋繘琛屾搷浣溿傝繖浜涙搷浣滃寘鎷彇褰撳墠鏃墮棿銆佽綆楁椂闂撮棿闅斻佷互涓嶅悓鐨勫艦寮忔樉紺烘椂闂寸瓑鍐呭銆?br />
4.1 鑾峰緱鏃ュ巻鏃墮棿

鎴戜滑鍙互閫氳繃time()鍑芥暟鏉ヨ幏寰楁棩鍘嗘椂闂達紙Calendar Time錛夛紝鍏跺師鍨嬩負錛?br />
time_t time(time_t * timer);

濡傛灉浣犲凡緇忓0鏄庝簡鍙傛暟timer錛屼綘鍙互浠庡弬鏁皌imer榪斿洖鐜板湪鐨勬棩鍘嗘椂闂達紝鍚屾椂涔熷彲浠ラ氳繃榪斿洖鍊艱繑鍥炵幇鍦ㄧ殑鏃ュ巻鏃墮棿錛屽嵆浠庝竴涓椂闂寸偣錛堜緥濡傦細1970騫?鏈?鏃?鏃?鍒?縐掞級鍒扮幇鍦ㄦ鏃剁殑縐掓暟銆傚鏋滃弬鏁頒負絀猴紙NUL錛夛紝鍑芥暟灝嗗彧閫氳繃榪斿洖鍊艱繑鍥炵幇鍦ㄧ殑鏃ュ巻鏃墮棿錛屾瘮濡備笅闈㈣繖涓緥瀛愮敤鏉ユ樉紺哄綋鍓嶇殑鏃ュ巻鏃墮棿錛?br />
#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *ptr;
time_t lt;
lt =time(NUL);
printf("The Calendar Time now is %d\n",lt);
return 0;
}

榪愯鐨勭粨鏋滀笌褰撴椂鐨勬椂闂存湁鍏籌紝鎴戝綋鏃惰繍琛岀殑緇撴灉鏄細

The Calendar Time now is 1122707619

鍏朵腑1122707619灝辨槸鎴戣繍琛岀▼搴忔椂鐨勬棩鍘嗘椂闂淬傚嵆浠?970騫?鏈?鏃?鏃?鍒?縐掑埌姝ゆ椂鐨勭鏁般?br />
4.2 鑾峰緱鏃ユ湡鍜屾椂闂?br />
榪欓噷璇寸殑鏃ユ湡鍜屾椂闂村氨鏄垜浠鉤鏃舵墍璇寸殑騫淬佹湀銆佹棩銆佹椂銆佸垎銆佺絳変俊鎭備粠絎?鑺傛垜浠凡緇忕煡閬撹繖浜涗俊鎭兘淇濆瓨鍦ㄤ竴涓悕涓簍m鐨勭粨鏋勪綋涓紝閭d箞濡備綍灝嗕竴涓棩鍘嗘椂闂翠繚瀛樹負涓涓猼m緇撴瀯鐨勫璞″憿錛?br />
鍏朵腑鍙互浣跨敤鐨勫嚱鏁版槸gmtime()鍜宭ocaltime()錛岃繖涓や釜鍑芥暟鐨勫師鍨嬩負錛?br />
struct tm * gmtime(const time_t *timer);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
struct tm * localtime(const time_t * timer);

鍏朵腑gmtime()鍑芥暟鏄皢鏃ュ巻鏃墮棿杞寲涓轟笘鐣屾爣鍑嗘椂闂達紙鍗蟲牸鏋楀凹娌繪椂闂達級錛屽茍榪斿洖涓涓猼m緇撴瀯浣撴潵淇濆瓨榪欎釜鏃墮棿錛岃宭ocaltime()鍑芥暟鏄皢鏃ュ巻鏃墮棿杞寲涓烘湰鍦版椂闂淬傛瘮濡傜幇鍦ㄧ敤gmtime()鍑芥暟鑾峰緱鐨勪笘鐣屾爣鍑嗘椂闂存槸2005騫?鏈?0鏃?鐐?8鍒?0縐掞紝閭d箞鎴戠敤localtime()鍑芥暟鍦ㄤ腑鍥藉湴鍖鴻幏寰楃殑鏈湴鏃墮棿浼氭瘮涓栫晫鏍囧噯鏃墮棿鏅?涓皬鏃訛紝鍗?005騫?鏈?0鏃?5鐐?8鍒?0縐掋備笅闈㈡槸涓緥瀛愶細

#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *local;
time_t t;
t=time(NUL);
local=localtime(&t);
printf("Local hour is: %d\n",local->tm_hour);
local=gmtime(&t);
printf("UTC hour is: %d\n",local->tm_hour);
return 0;
}

榪愯緇撴灉鏄細

Local hour is: 15
UTC hour is: 7

4.3 鍥哄畾鐨勬椂闂存牸寮?br />
鎴戜滑鍙互閫氳繃asctime()鍑芥暟鍜宑time()鍑芥暟灝嗘椂闂翠互鍥哄畾鐨勬牸寮忔樉紺哄嚭鏉ワ紝涓よ呯殑榪斿洖鍊奸兘鏄痗har*鍨嬬殑瀛楃涓層傝繑鍥炵殑鏃墮棿鏍煎紡涓猴細

鏄熸湡鍑?鏈堜喚 鏃ユ湡 鏃?鍒?縐?騫碶n\0
渚嬪錛歐ed Jan 02 02:03:55 1980\n\0

鍏朵腑\n鏄竴涓崲琛岀錛孿0鏄竴涓┖瀛楃錛岃〃紺哄瓧絎︿覆緇撴潫銆備笅闈㈡槸涓や釜鍑芥暟鐨勫師鍨嬶細

char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);

鍏朵腑asctime()鍑芥暟鏄氳繃tm緇撴瀯鏉ョ敓鎴愬叿鏈夊浐瀹氭牸寮忕殑淇濆瓨鏃墮棿淇℃伅鐨勫瓧絎︿覆錛岃宑time()鏄氳繃鏃ュ巻鏃墮棿鏉ョ敓鎴愭椂闂村瓧絎︿覆銆傝繖鏍風殑璇濓紝asctime錛堬級鍑芥暟鍙槸鎶妕m緇撴瀯瀵硅薄涓殑鍚勪釜鍩熷~鍒版椂闂村瓧絎︿覆鐨勭浉搴斾綅緗氨琛屼簡錛岃宑time錛堬級鍑芥暟闇瑕佸厛鍙傜収鏈湴鐨勬椂闂磋緗紝鎶婃棩鍘嗘椂闂磋漿鍖栦負鏈湴鏃墮棿錛岀劧鍚庡啀鐢熸垚鏍煎紡鍖栧悗鐨勫瓧絎︿覆銆傚湪涓嬮潰錛屽鏋渢鏄竴涓潪絀虹殑time_t鍙橀噺鐨勮瘽錛岄偅涔堬細

printf(ctime(&t));

絳変環浜庯細

struct tm *ptr;
ptr=localtime(&t);
printf(asctime(ptr));

閭d箞錛屼笅闈㈣繖涓▼搴忕殑涓ゆ潯printf璇彞杈撳嚭鐨勭粨鏋滃氨鏄笉鍚岀殑浜嗭紙闄ら潪浣犲皢鏈湴鏃跺尯璁句負涓栫晫鏍囧噯鏃墮棿鎵鍦ㄧ殑鏃跺尯錛夛細

#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *ptr;
time_t lt;
lt =time(NUL);
ptr=gmtime(&lt);
printf(asctime(ptr));
printf(ctime(&lt));
return 0;
}

榪愯緇撴灉錛?br />
Sat Jul 30 08:43:03 2005
Sat Jul 30 16:43:03 2005

4.4 鑷畾涔夋椂闂存牸寮?br />
鎴戜滑鍙互浣跨敤strftime錛堬級鍑芥暟灝嗘椂闂存牸寮忓寲涓烘垜浠兂瑕佺殑鏍煎紡銆傚畠鐨勫師鍨嬪涓嬶細

size_t strftime(
聽聽聽char *strDest,
聽聽聽size_t maxsize,
聽聽聽const char *format,
聽聽聽const struct tm *timeptr
);

鎴戜滑鍙互鏍規嵁format鎸囧悜瀛楃涓蹭腑鏍煎紡鍛戒護鎶妕imeptr涓繚瀛樼殑鏃墮棿淇℃伅鏀懼湪strDest鎸囧悜鐨勫瓧絎︿覆涓紝鏈澶氬悜strDest涓瓨鏀緈axsize涓瓧絎︺傝鍑芥暟榪斿洖鍚憇trDest鎸囧悜鐨勫瓧絎︿覆涓斁緗殑瀛楃鏁般?br />
鍑芥暟strftime()鐨勬搷浣滄湁浜涚被浼間簬sprintf()錛氳瘑鍒互鐧懼垎鍙?%)寮濮嬬殑鏍煎紡鍛戒護闆嗗悎錛屾牸寮忓寲杈撳嚭緇撴灉鏀懼湪涓涓瓧絎︿覆涓傛牸寮忓寲鍛戒護璇存槑涓瞫trDest涓悇縐嶆棩鏈熷拰鏃墮棿淇℃伅鐨勭‘鍒囪〃紺烘柟娉曘傛牸寮忎覆涓殑鍏朵粬瀛楃鍘熸牱鏀捐繘涓蹭腑銆傛牸寮忓懡浠ゅ垪鍦ㄤ笅闈紝瀹冧滑鏄尯鍒嗗ぇ灝忓啓鐨勩?br />
%a 鏄熸湡鍑犵殑綆鍐?
%A 鏄熸湡鍑犵殑鍏ㄧО
%b 鏈堝垎鐨勭畝鍐?
%B 鏈堜喚鐨勫叏縐?
%c 鏍囧噯鐨勬棩鏈熺殑鏃墮棿涓?
%C 騫翠喚鐨勫悗涓や綅鏁板瓧
%d 鍗佽繘鍒惰〃紺虹殑姣忔湀鐨勭鍑犲ぉ
%D 鏈?澶?騫?
%e 鍦ㄤ袱瀛楃鍩熶腑錛屽崄榪涘埗琛ㄧず鐨勬瘡鏈堢殑絎嚑澶?
%F 騫?鏈?鏃?
%g 騫翠喚鐨勫悗涓や綅鏁板瓧錛屼嬌鐢ㄥ熀浜庡懆鐨勫勾
%G 騫村垎錛屼嬌鐢ㄥ熀浜庡懆鐨勫勾
%h 綆鍐欑殑鏈堜喚鍚?
%H 24灝忔椂鍒剁殑灝忔椂
%I 12灝忔椂鍒剁殑灝忔椂
%j 鍗佽繘鍒惰〃紺虹殑姣忓勾鐨勭鍑犲ぉ
%m 鍗佽繘鍒惰〃紺虹殑鏈堜喚
%M 鍗佹椂鍒惰〃紺虹殑鍒嗛挓鏁?
%n 鏂拌絎?
%p 鏈湴鐨凙M鎴朠M鐨勭瓑浠鋒樉紺?
%r 12灝忔椂鐨勬椂闂?
%R 鏄劇ず灝忔椂鍜屽垎閽燂細hh:mm
%S 鍗佽繘鍒剁殑縐掓暟
%t 姘村鉤鍒惰〃絎?
%T 鏄劇ず鏃跺垎縐掞細hh:mm:ss
%u 姣忓懆鐨勭鍑犲ぉ錛屾槦鏈熶竴涓虹涓澶?錛堝間粠0鍒?錛屾槦鏈熶竴涓?錛?br />%U 絎勾鐨勭鍑犲懆錛屾妸鏄熸湡鏃ュ仛涓虹涓澶╋紙鍊間粠0鍒?3錛?br />%V 姣忓勾鐨勭鍑犲懆錛屼嬌鐢ㄥ熀浜庡懆鐨勫勾
%w 鍗佽繘鍒惰〃紺虹殑鏄熸湡鍑狅紙鍊間粠0鍒?錛屾槦鏈熷ぉ涓?錛?br />%W 姣忓勾鐨勭鍑犲懆錛屾妸鏄熸湡涓鍋氫負絎竴澶╋紙鍊間粠0鍒?3錛?
%x 鏍囧噯鐨勬棩鏈熶覆
%X 鏍囧噯鐨勬椂闂翠覆
%y 涓嶅甫涓栫邯鐨勫崄榪涘埗騫翠喚錛堝間粠0鍒?9錛?br />%Y 甯︿笘綰儴鍒嗙殑鍗佽繘鍒跺勾浠?
%z錛?Z 鏃跺尯鍚嶇О錛屽鏋滀笉鑳藉緱鍒版椂鍖哄悕縐板垯榪斿洖絀哄瓧絎︺?br />%% 鐧懼垎鍙?br />
濡傛灉鎯蟲樉紺虹幇鍦ㄦ槸鍑犵偣浜嗭紝騫朵互12灝忔椂鍒舵樉紺猴紝灝辮薄涓嬮潰榪欐紼嬪簭錛?br />
#include 鈥渢ime.h鈥?br />#include 鈥渟tdio.h鈥?br />int main(void)
{
struct tm *ptr;
time_t lt;
char str[80];
lt=time(NUL);
ptr=localtime(&lt);
strftime(str,100,"It is now %I %p",ptr);
printf(str);
return 0;
}

鍏惰繍琛岀粨鏋滀負錛?br />It is now 4PM

鑰屼笅闈㈢殑紼嬪簭鍒欐樉紺哄綋鍓嶇殑瀹屾暣鏃ユ湡錛?br />
#include <stdio.h>
#include <time.h>

void main( void )
{
聽聽聽聽聽聽聽聽struct tm *newtime;
聽聽聽聽聽聽聽聽char tmpbuf[128];
聽聽聽聽聽聽聽聽time_t lt1;
聽聽聽聽聽聽聽聽time( &lt1 );
聽聽聽聽聽聽聽聽newtime=localtime(&lt1);
聽聽聽聽聽聽聽聽strftime( tmpbuf, 128, "Today is %A, day %d of %B in the year %Y.\n", newtime);
聽聽聽聽聽聽聽聽printf(tmpbuf);
}

榪愯緇撴灉錛?br />
Today is Saturday, day 30 of July in the year 2005.

4.5 璁$畻鎸佺畫鏃墮棿鐨勯暱搴?br />
鏈夋椂鍊欏湪瀹為檯搴旂敤涓璁$畻涓涓簨浠舵寔緇殑鏃墮棿闀垮害錛屾瘮濡傝綆楁墦瀛楅熷害銆傚湪絎?鑺傝鏃墮儴鍒嗕腑錛屾垜宸茬粡鐢╟lock鍑芥暟涓句簡涓涓緥瀛愩侰lock()鍑芥暟鍙互綺劇‘鍒版縐掔駭銆傚悓鏃訛紝鎴戜滑涔熷彲浠ヤ嬌鐢╠ifftime()鍑芥暟錛屼絾瀹冨彧鑳界簿紜埌縐掋傝鍑芥暟鐨勫畾涔夊涓嬶細

double difftime(time_t time1, time_t time0);

铏界劧璇ュ嚱鏁拌繑鍥炵殑浠ョ璁$畻鐨勬椂闂撮棿闅旀槸double綾誨瀷鐨勶紝浣嗚繖騫朵笉璇存槑璇ユ椂闂村叿鏈夊悓double涓鏍風殑綺劇‘搴︼紝榪欐槸鐢卞畠鐨勫弬鏁拌寰楃殑錛坱ime_t鏄互縐掍負鍗曚綅璁$畻鐨勶級銆傛瘮濡備笅闈竴孌電▼搴忥細

#include "time.h"
#include "stdio.h"
#include "stdlib.h"
int main(void)
{
time_t start,end;
start = time(NUL);
system("pause");
end = time(NUL);
printf("The pause used %f seconds.\n",difftime(end,start));//<-
system("pause");
return 0;
}

榪愯緇撴灉涓猴細
璇鋒寜浠繪剰閿戶緇? . .
The pause used 2.000000 seconds.
璇鋒寜浠繪剰閿戶緇? . .

鍙互鎯沖儚錛屾殏鍋滅殑鏃墮棿騫朵笉閭d箞宸ф槸鏁存暣2縐掗挓銆傚叾瀹烇紝浣犲皢涓婇潰紼嬪簭鐨勫甫鏈夆?/<-鈥濇敞閲婄殑涓琛岀敤涓嬮潰鐨勪竴琛屼唬鐮佹浛鎹細

printf("The pause used %f seconds.\n",end-start);

鍏惰繍琛岀粨鏋滄槸涓鏍風殑銆?br />
4.6 鍒嗚В鏃墮棿杞寲涓烘棩鍘嗘椂闂?br />
榪欓噷璇寸殑鍒嗚В鏃墮棿灝辨槸浠ュ勾銆佹湀銆佹棩銆佹椂銆佸垎銆佺絳夊垎閲忎繚瀛樼殑鏃墮棿緇撴瀯錛屽湪C/C++涓槸tm緇撴瀯銆傛垜浠彲浠ヤ嬌鐢╩ktime錛堬級鍑芥暟灝嗙敤tm緇撴瀯琛ㄧず鐨勬椂闂磋漿鍖栦負鏃ュ巻鏃墮棿銆傚叾鍑芥暟鍘熷瀷濡備笅錛?br />
time_t mktime(struct tm * timeptr);

鍏惰繑鍥炲煎氨鏄漿鍖栧悗鐨勬棩鍘嗘椂闂淬傝繖鏍鋒垜浠氨鍙互鍏堝埗瀹氫竴涓垎瑙f椂闂達紝鐒跺悗瀵硅繖涓椂闂磋繘琛屾搷浣滀簡錛屼笅闈㈢殑渚嬪瓙鍙互璁$畻鍑?997騫?鏈?鏃ユ槸鏄熸湡鍑狅細

#include "time.h"
#include "stdio.h"
#include "stdlib.h"
int main(void)
{
struct tm t;
time_t t_of_day;
t.tm_year=1997-1900;
t.tm_mon=6;
t.tm_mday=1;
t.tm_hour=0;
t.tm_min=0;
t.tm_sec=1;
t.tm_isdst=0;
t_of_day=mktime(&t);
printf(ctime(&t_of_day));
return 0;
}

榪愯緇撴灉錛?br />
Tue Jul 01 00:00:01 1997

鐜板湪娉ㄦ剰浜嗭紝鏈変簡mktime()鍑芥暟錛屾槸涓嶆槸鎴戜滑鍙互鎿嶄綔鐜板湪涔嬪墠鐨勪換浣曟椂闂村憿錛熶綘鍙互閫氳繃榪欑鍔炴硶綆楀嚭1945騫?鏈?5鍙鋒槸鏄熸湡鍑犲悧錛熺瓟妗堟槸鍚﹀畾鐨勩傚洜涓鴻繖涓椂闂村湪1970騫?鏈?鏃ヤ箣鍓嶏紝鎵浠ュ湪澶у鏁扮紪璇戝櫒涓紝榪欐牱鐨勭▼搴忚櫧鐒跺彲浠ョ紪璇戦氳繃錛屼絾榪愯鏃朵細寮傚父緇堟銆?br />
5錛庢葷粨

鏈枃浠嬬粛浜嗘爣鍑咰/C++涓殑鏈夊叧鏃ユ湡鍜屾椂闂寸殑姒傚康錛屽茍閫氳繃鍚勭瀹炰緥璁茶堪浜嗚繖浜涘嚱鏁板拰鏁版嵁緇撴瀯鐨勪嬌鐢ㄦ柟娉曘傜瑪鑰呰涓猴紝鍜屾椂闂寸浉鍏崇殑涓浜涙蹇墊槸鐩稿綋閲嶈鐨勶紝鐞嗚В榪欎簺姒傚康鏄悊瑙e悇縐嶆椂闂存牸寮忕殑杞崲鐨勫熀紜錛屾洿鏄簲鐢ㄨ繖浜涘嚱鏁板拰鏁版嵁緇撴瀯鐨勫熀紜銆?br />
鍙傝冩枃鐚?br />
[1] 鏍囧噯C++紼嬪簭璁捐鏁欑▼錛岀數瀛愬伐涓氬嚭鐗堢ぞ錛?003銆?br />[2] MSDN Library錛?Microsoft Corporation錛?003銆?/font>

Bourne 2006-07-05 12:12 鍙戣〃璇勮
]]>
杞創:閾炬帴閿欒LINK2001http://www.shnenglu.com/bourne/archive/2006/06/20/8756.htmlBourneBourneTue, 20 Jun 2006 08:36:00 GMThttp://www.shnenglu.com/bourne/archive/2006/06/20/8756.htmlhttp://www.shnenglu.com/bourne/comments/8756.htmlhttp://www.shnenglu.com/bourne/archive/2006/06/20/8756.html#Feedback2http://www.shnenglu.com/bourne/comments/commentRss/8756.htmlhttp://www.shnenglu.com/bourne/services/trackbacks/8756.html涓婄綉鎼滀笢瑗跨殑鏃跺欐悳鍒頒簡榪欎釜錛岃寰楄洰浣跨敤鐨勶紝鏀懼湪榪欓噷浠ュ鍚庣敤錛?br />
--聽聽LINK2001
瀛︿範VC錛嬶紜鏃剁粡甯鎬細閬囧埌閾炬帴閿欒LNK2001錛岃閿欒闈炲父璁ㄥ帉錛屽洜涓哄浜?br />緙栫▼鑰呮潵璇達紝鏈濂芥敼鐨勯敊璇帿榪囦簬緙栬瘧閿欒錛岃屼竴鑸鏉ュ彂鐢熻繛鎺ラ敊璇椂錛?br />緙栬瘧閮藉凡閫氳繃銆備駭鐢熻繛鎺ラ敊璇殑鍘熷洜闈炲父澶氾紝灝ゅ叾LNK2001閿欒錛屽父甯鎬嬌浜轟笉
鏄庡叾鎵浠ョ劧銆傚鏋滀笉娣卞叆鍦板涔犲拰鐞嗚ВVC錛嬶紜錛岃鎯蟲敼姝h繛鎺ラ敊璇疞NK2001闈?br />甯稿洶闅俱?br />銆銆鍒濆鑰呭湪瀛︿範VC錛嬶紜鐨勮繃紼嬩腑錛岄亣鍒扮殑LNK2001閿欒鐨勯敊璇秷鎭富瑕佷負錛?br />銆銆unresolved external symbol 鈥渟ymbol鈥濓紙涓嶇‘瀹氱殑澶栭儴鈥滅鍙封濓級銆?br />銆銆濡傛灉榪炴帴紼嬪簭涓嶈兘鍦ㄦ墍鏈夌殑搴撳拰鐩爣鏂囦歡鍐呮壘鍒版墍寮曠敤鐨勫嚱鏁般佸彉閲忔垨
鏍囩錛屽皢浜х敓姝ら敊璇秷鎭備竴鑸潵璇達紝鍙戠敓閿欒鐨勫師鍥犳湁涓や釜錛氫竴鏄墍寮曠敤
鐨勫嚱鏁般佸彉閲忎笉瀛樺湪銆佹嫾鍐欎笉姝g‘鎴栬呬嬌鐢ㄩ敊璇紱鍏舵鍙兘浣跨敤浜嗕笉鍚岀増鏈?br />鐨勮繛鎺ュ簱銆?br />銆銆浠ヤ笅鏄彲鑳戒駭鐢烲NK2001閿欒鐨勫師鍥狅細
銆銆涓錛庣敱浜庣紪鐮侀敊璇鑷寸殑LNK2001銆?br />銆銆1錛庝笉鐩稿尮閰嶇殑紼嬪簭浠g爜鎴栨ā鍧楀畾涔夛紙.DEF錛夋枃浠惰兘瀵艱嚧LNK2001銆備緥濡?
濡傛灉鍦–錛嬶紜 婧愭枃浠跺唴澹版槑浜嗕竴鍙橀噺鈥渧ar1鈥濓紝鍗磋瘯鍥懼湪鍙︿竴鏂囦歡鍐呬互鍙橀噺
鈥淰AR1鈥濊闂鍙橀噺,灝嗗彂鐢熻閿欒銆?br />銆銆2錛庡鏋滀嬌鐢ㄧ殑鍐呰仈鍑芥暟鏄湪.CPP鏂囦歡鍐呭畾涔夌殑錛岃屼笉鏄湪澶存枃浠跺唴瀹?br />涔夊皢瀵艱嚧LNK2001閿欒銆?br />銆銆3錛庤皟鐢ㄥ嚱鏁版椂濡傛灉鎵鐢ㄧ殑鍙傛暟綾誨瀷鍚屽嚱鏁板0鏄庢椂鐨勭被鍨嬩笉絎﹀皢浼氫駭鐢?br />LNK2001銆?br />銆銆4錛庤瘯鍥句粠鍩虹被鐨勬瀯閫犲嚱鏁版垨鏋愭瀯鍑芥暟涓皟鐢ㄨ櫄鎷熷嚱鏁版椂灝嗕細瀵艱嚧LNK2001銆?br />銆銆5錛庤娉ㄦ剰鍑芥暟鍜屽彉閲忕殑鍙叕鐢ㄦэ紝鍙湁鍏ㄥ眬鍙橀噺銆佸嚱鏁版槸鍙叕鐢ㄧ殑銆?br />銆銆闈欐佸嚱鏁板拰闈欐佸彉閲忓叿鏈夌浉鍚岀殑浣跨敤鑼冨洿闄愬埗銆傚綋璇曞浘浠庢枃浠跺閮ㄨ闂?br />浠諱綍娌℃湁鍦ㄨ鏂囦歡鍐呭0鏄庣殑闈欐佸彉閲忔椂灝嗗鑷寸紪璇戦敊璇垨LNK2001銆?br />銆銆鍑芥暟鍐呭0鏄庣殑鍙橀噺錛堝眬閮ㄥ彉閲忥級 鍙兘鍦ㄨ鍑芥暟鐨勮寖鍥村唴浣跨敤銆?br />銆銆C錛嬶紜 鐨勫叏灞甯擱噺鍙湁闈欐佽繛鎺ユц兘銆傝繖涓嶅悓浜嶤錛屽鏋滆瘯鍥懼湪C錛嬶紜鐨?br />澶氫釜鏂囦歡鍐呬嬌鐢ㄥ叏灞鍙橀噺涔熶細浜х敓LNK2001閿欒銆備竴縐嶈В鍐崇殑鏂規硶鏄渶瑕佹椂鍦?br />澶存枃浠朵腑鍔犲叆璇ュ父閲忕殑鍒濆鍖栦唬鐮侊紝騫跺湪.CPP鏂囦歡涓寘鍚澶存枃浠訛紱鍙︿竴縐?br />鏂規硶鏄嬌鐢ㄦ椂緇欒鍙橀噺璧嬩互甯告暟銆?br />銆銆浜岋紟鐢變簬緙栬瘧鍜岄摼鎺ョ殑璁劇疆鑰岄犳垚鐨凩NK2001
銆銆1錛庡鏋滅紪璇戞椂浣跨敤鐨勬槸/NOD錛?NODEFAULTLIB錛夐夐」錛岀▼搴忔墍闇瑕佺殑榪愯
搴撳拰MFC搴撳湪榪炴帴鏃剁敱緙栬瘧鍣ㄥ啓鍏ョ洰鏍囨枃浠舵ā鍧楋紝 浣嗛櫎闈炲湪鏂囦歡涓槑紜寘鍚?br />榪欎簺搴撳悕錛屽惁鍒欒繖浜涘簱涓嶄細琚摼鎺ヨ繘宸ョ▼鏂囦歡銆傚湪榪欑鎯呭喌涓嬩嬌鐢?NOD灝嗗
鑷撮敊璇疞NK2001銆?br />銆銆2錛庡鏋滄病鏈変負wWinMainCRTStartup璁懼畾紼嬪簭鍏ュ彛錛屽湪浣跨敤Unicode鍜孧FC
鏃跺皢寰楀埌鈥渦nresolved external on _WinMain@16鈥濈殑LNK2001閿欒淇℃伅銆?br />銆銆3錛庝嬌鐢?MD閫夐」緙栬瘧鏃?鏃㈢劧鎵鏈夌殑榪愯搴撻兘琚繚鐣欏湪鍔ㄦ侀摼鎺ュ簱涔嬪唴錛?br />婧愭枃浠朵腑瀵光渇unc鈥濈殑寮曠敤錛屽湪鐩爣鏂囦歡閲屽嵆瀵光淿_imp__func鈥?鐨勫紩鐢ㄣ?br />濡傛灉璇曞浘浣跨敤闈欐佸簱LIBC.LIB鎴朙IBCMT.LIB榪涜榪炴帴錛屽皢鍦╛_imp__func涓婂彂
鐢烲NK2001錛涘鏋滀笉浣跨敤/MD閫夐」緙栬瘧錛屽湪浣跨敤MSVCxx.LIB榪炴帴鏃朵篃浼氬彂鐢烲NK2001銆?br />銆銆4錛庝嬌鐢?ML閫夐」緙栬瘧鏃訛紝濡傜敤LIBCMT.LIB閾炬帴浼氬湪_errno涓婂彂鐢烲NK2001銆?br />銆銆5錛庡綋緙栬瘧璋冭瘯鐗堢殑搴旂敤紼嬪簭鏃訛紝濡傛灉閲囩敤鍙戣鐗堟ā鎬佸簱榪涜榪炴帴涔熶細浜?br />鐢烲NK2001錛涘悓鏍鳳紝浣跨敤璋冭瘯鐗堟ā鎬佸簱榪炴帴鍙戣鐗堝簲鐢ㄧ▼搴忔椂涔熶細浜х敓鐩稿悓鐨?br />闂銆?br />銆銆6錛庝笉鍚岀増鏈殑搴撳拰緙栬瘧鍣ㄧ殑娣峰悎浣跨敤涔熻兘浜х敓闂錛屽洜涓烘柊鐗堢殑搴撻噷鍙?br />鑳藉寘鍚棭鍏堢殑鐗堟湰娌℃湁鐨勭鍙峰拰璇存槑銆?br />銆銆7錛庡湪涓嶅悓鐨勬ā鍧椾嬌鐢ㄥ唴鑱斿拰闈炲唴鑱旂殑緙栬瘧閫夐」鑳藉瀵艱嚧LNK2001銆傚鏋?br />鍒涘緩C錛嬶紜搴撴椂鎵撳紑浜嗗嚱鏁板唴鑱旓紙/Ob1鎴?Ob2錛夛紝浣嗘槸鍦ㄦ弿榪拌鍑芥暟鐨勭浉搴斿ご
鏂囦歡閲屽嵈鍏抽棴浜嗗嚱鏁板唴鑱旓紙娌℃湁inline鍏抽敭瀛楋級錛岃繖鏃跺皢寰楀埌璇ラ敊璇俊鎭?br />涓洪伩鍏嶈闂鐨勫彂鐢燂紝搴旇鍦ㄧ浉搴旂殑澶存枃浠朵腑鐢╥nline鍏抽敭瀛楁爣蹇楀唴鑱斿嚱鏁般?br />銆銆8錛庝笉姝g‘鐨?SUBSYSTEM鎴?ENTRY璁劇疆涔熻兘瀵艱嚧LNK2001銆?br />銆銆鍏跺疄錛屼駭鐢烲NK2001鐨勫師鍥犺繕鏈夊緢澶氾紝浠ヤ笂鐨勫師鍥犲彧鏄竴閮ㄥ垎鑰屽凡錛屽鍒?br />瀛﹁呮潵璇磋繖浜涘氨澶熺悊瑙d竴闃靛瓙浜嗐備絾鏄紝鍒嗘瀽閿欒鍘熷洜鐨勭洰鐨勬槸涓轟簡閬垮厤閿?br />璇殑鍙戠敓銆侺NK2001閿欒铏界劧姣旇緝鍥伴毦錛屼絾鏄彧瑕佹敞鎰忓埌浜嗕笂榪伴棶棰橈紝榪樻槸鑳?br />澶熼伩鍏嶅拰浜堜互瑙e喅鐨勩?/p>

Bourne 2006-06-20 16:36 鍙戣〃璇勮
]]>
VC++涓殑榪炴帴闂錛岃澶т緺甯繖錛屾垜蹇穿婧冧簡http://www.shnenglu.com/bourne/archive/2006/06/19/8711.htmlBourneBourneMon, 19 Jun 2006 08:56:00 GMThttp://www.shnenglu.com/bourne/archive/2006/06/19/8711.htmlhttp://www.shnenglu.com/bourne/comments/8711.htmlhttp://www.shnenglu.com/bourne/archive/2006/06/19/8711.html#Feedback4http://www.shnenglu.com/bourne/comments/commentRss/8711.htmlhttp://www.shnenglu.com/bourne/services/trackbacks/8711.html榪樻槸鎴戝仛鐨勯偅涓摼琛ㄧ殑妯℃澘綾?br />鎴戝垎鍒啓浜嗗ご鏂囦歡Chain.h錛屾簮鏂囦歡Chain.cpp,騫朵笖鍦╩ain.cpp涓繘琛屾祴璇曘?br />浣嗘槸鍦ㄨ繛鎺ョ殑鏃跺欏嚭鐜頒簡闂錛屼笉鐭ラ亾浠涔堝師鍥狅紝甯屾湜鑳藉鏈夐珮鎵嬫寚鐐逛竴涓嬶紝闈炲父鎰熻阿錛?br />
鍏朵腑Chain.h澹版槑浜嗙被鐨勬暟鎹垚鍛樺拰鎴愬憳鍑芥暟錛屽叿浣撳唴瀹瑰涓嬶細

#ifndef _CHAIN_H
#define _CHAIN_H

#include <iostream>
using namespace std;

template<class T>
class Chain;


template<class T>
class ChainNode
{
聽friend class Chain<T>;
聽friend ostream& operator<<(ostream& out, const Chain<T>& x);
private:
聽T data;
聽ChainNode<T> *link;
};

template<class T>
class Chain{

public:
聽Chain(int p) {first = 0;};
聽~Chain();
聽bool IsEmpty() const {return first == 0;}
聽int Length() const;
聽bool Find(int k, T& x) const;
聽int Search(const T& x) const;
聽//Chain<T>& Delete(int k, T& x);
聽Chain<T>& Insert(int k, const T& x);
聽void Output(ostream& out = cout) const;
private:
聽ChainNode<T> *first; // 鎸囧悜絎竴涓妭鐐圭殑鎸囬拡
};

template<class T>
ostream& operator<<(ostream& out, const Chain<T>& x);

#endif聽 // _CHAIN

聽聽鍦–hain.cpp涓Chain.h涓0鏄庣殑鍑芥暟榪涜浜嗗畾涔夛紝鍏蜂綋鍐呭濡備笅錛?br />
#include "Chain.h"
#include <iostream>
using namespace std;

template<class T>
Chain<T>::~Chain()
{
聽//閾捐〃鐨勬瀽鏋勫嚱鏁?鐢ㄤ簬鍒犻櫎閾捐〃涓殑鎵鏈夎妭鐐?br />聽ChainNode<T> *ptr = first;
聽while (ptr)
聽{
聽聽first = ptr->link;
聽聽delete ptr;
聽聽ptr = first;
聽}
}

template<class T>
int Chain<T>::Length() const
{
聽//榪斿洖閾捐〃涓殑鍏冪礌鎬繪暟
聽int count = 0;
聽ChainNode<T> *ptr = first;
聽while (ptr)
聽{
聽聽++count;
聽聽ptr = ptr->link;
聽}
聽return count;
}

template<class T>
bool Chain<T>::Find(int k, T& x) const
{
聽//瀵繪壘閾捐〃涓殑絎琸涓厓绱狅紝騫跺皢鍏朵紶閫佽嚦x
聽//濡傛灉涓嶅瓨鍦ㄧk涓厓绱狅紝鍒欒繑鍥瀎alse錛屽惁鍒欒繑鍥瀟rue
聽if (k < 1)
聽{
聽聽return false;
聽}
聽int count = k;
聽ChainNode<T> *ptr = first;
聽while (count && ptr)
聽{
聽聽--count;
聽聽ptr = ptr->link
聽}
聽if (!ptr)
聽{
聽聽return false;
聽}
聽x = ptr->data;
聽return true;
}

template<class T>
int Chain<T>::Search(const T& x) const
{
聽//瀵繪壘x錛屽鏋滃彂鐜皒錛屽垯榪斿洖x鐨勫湴鍧
聽//濡傛灉x涓嶅湪閾捐〃涓紝鍒欒繑鍥?
聽int count = 1;
聽ChainNode<T> *ptr = first;
聽while(ptr && (ptr->data!=x))
聽{
聽聽++count;
聽聽ptr = ptr->link;
聽}
聽if (ptr)
聽{
聽聽return count;
聽}
聽else
聽{
聽聽return 0;
聽}
}

template<class T>
void Chain<T>::Output(ostream& out = cout) const
{
聽ChainNode<T> *ptr = first;
聽while (ptr)
聽{
聽聽out<<ptr->data<<"聽 ";
聽聽ptr = ptr->link;
聽}
}

//閲嶈澆<<榪愮畻絎?br />template<class T>
ostream& operator<<(ostream& out, const Chain<T>& x)
{
聽x.Output(out);
聽return out;
}

template<class T>
Chain<T>& Chain<T>::Insert(int k, const T& x)
{
聽ChainNode<T> *ptr = first;
聽int count = 0;
聽while (ptr && count < k)
聽{
聽聽++count;
聽聽ptr = ptr->link;
聽}
聽if (!ptr)聽 //濡傛灉娌″埌絎琸涓妭鐐?br />聽{

聽}
聽else
聽{
聽聽//瑕佹彃鍏ョ殑鏂拌妭鐐?br />聽聽ChainNode<T>* cn = new ChainNode<T>;
聽聽cn->data = x;
聽聽cn->link = 0;
聽聽if (ptr->link==0)聽 //鍒拌揪浜嗛摼琛ㄧ殑緇撳熬
聽聽{
聽聽聽ptr->link = cn;
聽聽}
聽聽else聽 //娌″埌杈劇粨灝?br />聽聽{聽
聽聽聽cn->link = ptr->link;
聽聽聽ptr->link = cn;
聽聽}
聽}
聽return *this
}

聽鍦╩ain.cpp涓繘琛屾祴璇曪紝嫻嬭瘯鐨勫唴瀹瑰緢灝戯紝浣嗘槸鍒氬紑濮嬪氨榪涜涓嶄簡浜嗐俶ain.cpp鍐呭濡備笅錛?br />
#include "Chain.h"
using namespace std;

int main()
{
聽Chain<int> c;
聽cout<<c.Length();
聽return 0;
}

緙栬瘧鐨勬椂鍊欐病鏈夐棶棰橈紝浣嗘槸鍦ㄨ繛鎺ョ殑鏃跺欏氨鍑虹幇浜嗛棶棰橈紝鎶ラ敊濡備笅錛?br />--------------------Configuration: Chain - Win32 Debug--------------------
Linking...
main.obj : error LNK2001: unresolved external symbol "public: __thiscall Chain<int>::~Chain<int>(void)" (
??1?$Chain@H@@QAE@XZ)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall Chain<int>::Length(void)const " (
?Length@?$Chain@H@@QBEHXZ)
Debug/Chain.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

Chain.exe - 3 error(s), 0 warning(s)
浣嗘槸浠庢姤閿欎俊鎭潵鐪嬶紝搴旇鏄湪main.cpp涓病鏈夋壘鍒版墍鐢ㄥ埌鐨勫嚱鏁?~Chain<int>(void)鍜孡ength()鐨勫畾涔夛紝鍦╩ain.cpp涓竴鍏辯敤鍒頒簡涓変釜鍑芥暟錛屾瀯閫犲嚱鏁癈hain()錛屼絾鏄瀯閫犲嚱鏁版槸鍦–hain.h涓畾涔夌殑錛屾墍浠ョ紪璇戝櫒鎵懼埌浜嗗叾瀹氫箟錛屼絾鏄彟澶栦袱涓嚱鏁版槸鍦–hain.cpp涓畾涔夌殑錛岃屼笖鐩墠鎶ラ敊娌℃湁鎵懼埌錛屼絾鏄鏋滃湪main.cpp涓紩鍏?include "Chain.cpp"鏃訛紝緙栬瘧鍜岃繛鎺ュ氨娌℃湁闂錛岃繖灝辮瘉瀹炰簡鍘熸潵鐨勪及璁℃槸娌℃湁閿欑殑銆傛垜瀹炲湪鏄笉鐭ラ亾闂鍑虹幇鍦ㄥ摢閲岋紝鎵浠ュ笇鏈涘摢浣嶉珮鎵嬬湅鍑洪棶棰樻潵鐨勮瘽錛岃鍛婅瘔鎴戯紝澶氳阿浜嗭紒



Bourne 2006-06-19 16:56 鍙戣〃璇勮
]]>
寰蔣VC++瀵瑰弸鍏冪被鍜屾ā鏉跨殑鏀寔鐪熺殑榪欎箞宸悧錛?/title><link>http://www.shnenglu.com/bourne/archive/2006/06/17/8678.html</link><dc:creator>Bourne</dc:creator><author>Bourne</author><pubDate>Sat, 17 Jun 2006 15:39:00 GMT</pubDate><guid>http://www.shnenglu.com/bourne/archive/2006/06/17/8678.html</guid><wfw:comment>http://www.shnenglu.com/bourne/comments/8678.html</wfw:comment><comments>http://www.shnenglu.com/bourne/archive/2006/06/17/8678.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.shnenglu.com/bourne/comments/commentRss/8678.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/bourne/services/trackbacks/8678.html</trackback:ping><description><![CDATA[ <p>浠ュ墠鍐欎唬鐮佺殑鏃跺欏氨閬囧埌VC++瀵瑰弸鍏冩敮鎸佸緱涓嶅お濂界殑闂錛屽悓鏃朵篃鐪嬭繃渚嵎鑰佸笀瀵筭nu c++, VC++, BCB 涓夌緙栬瘧鍣ㄧ殑姣旇緝錛屽叾涓璙C++瀵規ā鏉垮弸鍏冪殑鏀寔灝變笉鏄緢濂姐?br />浠婂ぉ鏅氫笂鍐欎簡涓涓瘮杈冪畝鍗曠殑閾捐〃鐨勬ā鏉跨被錛屽叾涓ご鏂囦歡Chain.h鍘熸潵鐨勪唬鐮佸涓嬶細<br /><br /><font color="#0000ff" size="2">#include <iostream><br />using namespace std;</font></p> <p> <font color="#0000ff" size="2">#ifndef _CHAIN<br />#define _CHAIN</font> </p> <p> <font color="#0000ff" size="2">template<class T><br />class聽ChainNode<br />{<br />聽friend class Chain<T>;<br />private:<br />聽T data;<br />聽ChainNode<T> *link;<br />};</font> </p> <p> <font color="#0000ff" size="2">template<class T><br />class Chain{<br />public:<br />聽Chain() <br />聽{<br />聽聽first = 0;<br />聽};<br />聽~Chain();<br />聽bool IsEmpty() const {return first == 0;}<br />聽int Length() const;<br />聽bool Find(int k, T& x) const;<br />聽int Search(const T& x) const;<br />聽//Chain<T>& Delete(int k, T& x);<br />聽Chain<T>& Insert(int k, const T& x);<br />聽void Output(ostream& out = cout) const;<br />private:<br />聽ChainNode<T> *first; // 鎸囧悜絎竴涓妭鐐圭殑鎸囬拡<br />};</font> </p> <p> <font color="#0000ff" size="2">#endif聽 // _CHAIN<br /><br />緇撴灉鎶ラ敊錛?br />--------------------Configuration: Chain - Win32 Debug--------------------<br />Compiling...<br />Chain.cpp<br />g:\work plan\c++ code practice\chain\chain.h(17) : error C2059: syntax error : '<'<br />聽聽聽聽聽聽聽 g:\work plan\c++ code practice\chain\chain.h(21) : see reference to class template instantiation 'ChainNode<T>' being compiled<br />g:\work plan\c++ code practice\chain\chain.h(17) : error C2238: unexpected token(s) preceding ';'<br />聽聽聽聽聽聽聽 g:\work plan\c++ code practice\chain\chain.h(21) : see reference to class template instantiation 'ChainNode<T>' being compiled<br />g:\work plan\c++ code practice\chain\chain.h(40) : error C2989: 'Chain' : template class has already been defined as a non-template class<br />聽聽聽聽聽聽聽 g:\work plan\c++ code practice\chain\chain.h(17) : see declaration of 'Chain'<br />g:\work plan\c++ code practice\chain\chain.cpp(6) : error C2059: syntax error : '<'<br />g:\work plan\c++ code practice\chain\chain.cpp(6) : error C2588: '::~Chain' : illegal global destructor<br />g:\work plan\c++ code practice\chain\chain.cpp(6) : fatal error C1903: unable to recover from previous error(s); stopping compilation<br />Error executing cl.exe.</font> </p> <p> <font color="#0000ff" size="2">Chain.obj - 6 error(s), 0 warning(s)<br /><br /><font size="3"><font color="#000000">鎰熻浠庝唬鐮佹潵鐪嬪簲璇ユ槸娌℃湁闂鐨勶紝濡傛灉鍝釜楂樻墜鐪嬪嚭闂鏉ヤ簡璇蜂竴瀹氬憡璇夋垜鍟婏紝濡傛灉鐭ラ亾緙栬瘧涓嶉氳繃鐨勫師鍥犱篃璇蜂竴瀹氳鍛婅瘔鎴戝晩銆傛病鍔炴硶錛屾渶鍚庨噰鐢ㄨВ鍐崇殑鍔炴硶灝辨槸淇敼ChainNode鐨勫畾涔変簡錛屽畾涔変負緇撴瀯浣?)<br /><font color="#0000ff" size="2">template<class T><br />struct ChainNode<br />{<br />聽 T data;<br />聽 ChainNode<T> *link;<br />};</font><br />鍙嶆緇撴瀯浣撲腑鐨勬暟鎹垚鍛橀兘鏄痯ublic鐨勶紝鑷充簬璁塊棶闄愬埗鐨勫疄鐜板氨渚濋潬榪唬鍣ㄦ潵瀹炵幇浜嗭紝g++鐨凷TL涓殑鏍戠粨鐐逛笉涔熸槸緇撴瀯浣撳悧錛?)<br /></font></font></font> </p> <img src ="http://www.shnenglu.com/bourne/aggbug/8678.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/bourne/" target="_blank">Bourne</a> 2006-06-17 23:39 <a href="http://www.shnenglu.com/bourne/archive/2006/06/17/8678.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://008528.com" target="_blank">欧美在线观看一区二区</a>| <a href="http://www-57549.com" target="_blank">亚洲在线一区二区三区</a>| <a href="http://wwwen41.com" target="_blank">久久久999精品</a>| <a href="http://281191.com" target="_blank">欧美日韩直播</a>| <a href="http://pigkrtv.com" target="_blank">99精品欧美一区二区三区</a>| <a href="http://6222h.com" target="_blank">亚洲欧洲视频在线</a>| <a href="http://wwwavtb1122.com" target="_blank">久久黄色网页</a>| <a href="http://jobmrleehxx.com" target="_blank">亚洲人成高清</a>| <a href="http://szsywine.com" target="_blank">99国产精品久久久久老师</a>| <a href="http://979695.com" target="_blank">欧美激情va永久在线播放</a>| <a href="http://lukushe.com" target="_blank">欧美韩日一区二区</a>| <a href="http://thisisfil.com" target="_blank">伊人男人综合视频网</a>| <a href="http://spidermanseo.com" target="_blank">久久精品国产99国产精品澳门</a>| <a href="http://cytus2wiki.com" target="_blank">亚洲成人自拍视频</a>| <a href="http://yyy922.com" target="_blank">国产免费成人av</a>| <a href="http://youjizzbox.com" target="_blank">在线一区免费观看</a>| <a href="http://414794.com" target="_blank">欧美激情视频一区二区三区免费</a>| <a href="http://shalitao.com" target="_blank">欧美精品在线观看播放</a>| <a href="http://instantptt.com" target="_blank">欧美一区二区三区四区在线观看地址</a>| <a href="http://mathck.com" target="_blank">你懂的亚洲视频</a>| <a href="http://www-tk3333.com" target="_blank">亚洲国产另类精品专区</a>| <a href="http://8868866.com" target="_blank">亚洲国产精品传媒在线观看 </a>| <a href="http://anal-movie-teen.com" target="_blank">香蕉久久精品日日躁夜夜躁</a>| <a href="http://yunduaner.com" target="_blank">欧美日韩免费一区二区三区视频</a>| <a href="http://www44448.com" target="_blank">亚欧美中日韩视频</a>| <a href="http://cswlts.com" target="_blank">午夜精品亚洲一区二区三区嫩草</a>| <a href="http://xjj733.com" target="_blank">亚洲第一久久影院</a>| <a href="http://xshgwy.com" target="_blank">亚洲盗摄视频</a>| <a href="http://5252bnet.com" target="_blank">开心色5月久久精品</a>| <a href="http://writeingo.com" target="_blank">欧美日本中文字幕</a>| <a href="http://hs045.com" target="_blank">久久精品动漫</a>| <a href="http://mmpzyw.com" target="_blank">欧美一区二区三区视频免费播放</a>| <a href="http://495177.com" target="_blank">亚洲国产二区</a>| <a href="http://instantptt.com" target="_blank">国产一区清纯</a>| <a href="http://000695.com" target="_blank">久久av在线</a>| <a href="http://avse69.com" target="_blank">美女视频一区免费观看</a>| <a href="http://7m08.com" target="_blank">国产一区在线免费观看</a>| <a href="http://555888666.com" target="_blank">久久黄色级2电影</a>| <a href="http://japanjavbibi.com" target="_blank">久久国产一区二区</a>| <a href="http://sz-changrong.com" target="_blank">精品成人乱色一区二区</a>| <a href="http://czsanlin.com" target="_blank">亚洲免费精品</a>| <a href="http://senlin86.com" target="_blank">激情综合激情</a>| <a href="http://91keshi.com" target="_blank">日韩一级精品视频在线观看</a>| <a href="http://qqx123.com" target="_blank">国产日韩欧美日韩大片</a>| <a href="http://www77577.com" target="_blank">欧美日韩国产精品专区</a>| <a href="http://kpd521.com" target="_blank">久久久亚洲人</a>| <a href="http://qq6699.com" target="_blank">久久综合一区</a>| <a href="http://h7yy.com" target="_blank">亚洲欧美综合v</a>| <a href="http://k68c.com" target="_blank">亚洲摸下面视频</a>| <a href="http://by3787.com" target="_blank">在线精品视频免费观看</a>| <a href="http://gaobb52.com" target="_blank">亚洲精品久久久久久久久久久久</a>| <a href="http://0061366.com" target="_blank">开元免费观看欧美电视剧网站</a>| <a href="http://tianxiantxtv.com" target="_blank">国产精品美女主播在线观看纯欲</a>| <a href="http://www-8438.com" target="_blank">欧美中在线观看</a>| <a href="http://jilcool.com" target="_blank">久久一区精品</a>| <a href="http://tubcup.com" target="_blank">亚洲一区激情</a>| <a href="http://www-273111.com" target="_blank">亚洲欧美久久</a>| <a href="http://7v51.com" target="_blank">黄色亚洲在线</a>| <a href="http://www-68689.com" target="_blank">亚洲精品国产精品国自产观看 </a>| <a href="http://138128.com" target="_blank">韩国视频理论视频久久</a>| <a href="http://avsemm.com" target="_blank">久久精品在线播放</a>| <a href="http://1397979.com" target="_blank">欧美激情在线播放</a>| <a href="http://caofujia.com" target="_blank">欧美影院午夜播放</a>| <a href="http://jlhao123.com" target="_blank">蜜臀av性久久久久蜜臀aⅴ四虎</a>| <a href="http://132653.com" target="_blank">欧美精品自拍</a>| <a href="http://3344xo.com" target="_blank">久久精品亚洲一区二区</a>| <a href="http://wwwgay456.com" target="_blank">亚洲老板91色精品久久</a>| <a href="http://erodasy.com" target="_blank">免费国产一区二区</a>| <a href="http://sxhrsmjj.com" target="_blank">亚洲视频1区2区</a>| <a href="http://520taose.com" target="_blank">亚洲欧美春色</a>| <a href="http://ooo789.com" target="_blank">国产精品视频一</a>| <a href="http://sxhrdyb.com" target="_blank">亚洲视频碰碰</a>| <a href="http://342889.com" target="_blank">亚洲欧洲日韩在线</a>| <a href="http://794579.com" target="_blank">蜜桃av一区</a>| <a href="http://mfgun.com" target="_blank">亚洲国产影院</a>| <a href="http://yyy922.com" target="_blank">欧美激情小视频</a>| <a href="http://dusenborg.com" target="_blank">欧美国产日韩亚洲一区</a>| <a href="http://by1473.com" target="_blank">亚洲成人在线视频网站</a>| <a href="http://961318.com" target="_blank">欧美电影资源</a>| <a href="http://155fck.com" target="_blank">欧美日韩黄色大片</a>| <a href="http://qscxx3.com" target="_blank">午夜欧美大尺度福利影院在线看</a>| <a href="http://anal-movie-teen.com" target="_blank">99精品国产在热久久下载</a>| <a href="http://www151zh.com" target="_blank">国产精品高潮呻吟久久</a>| <a href="http://0808333.com" target="_blank">久久大逼视频</a>| <a href="http://687673.com" target="_blank">美脚丝袜一区二区三区在线观看</a>| <a href="http://4884888.com" target="_blank">亚洲全部视频</a>| <a href="http://jxrisen.com" target="_blank">一区二区三区蜜桃网</a>| <a href="http://402626com.com" target="_blank">国产精品免费小视频</a>| <a href="http://6168138.com" target="_blank">欧美在线观看一区二区</a>| <a href="http://66636by.com" target="_blank">久久久精品欧美丰满</a>| <a href="http://kittybob.com" target="_blank">亚洲国产精品成人综合色在线婷婷</a>| <a href="http://3451215.com" target="_blank">欧美成人国产一区二区</a>| <a href="http://khc83.com" target="_blank">欧美日韩免费一区二区三区</a>| <a href="http://8x29ft.com" target="_blank">欧美一区二区</a>| <a href="http://unrealcopgmail.com" target="_blank">噜噜噜躁狠狠躁狠狠精品视频</a>| <a href="http://136hao.com" target="_blank">亚洲精品一区二区三区四区高清 </a>| <a href="http://8x1080x.com" target="_blank">亚洲国产日韩一区</a>| <a href="http://337105.com" target="_blank">欧美三日本三级三级在线播放</a>| <a href="http://87ssyy.com" target="_blank">欧美一级片久久久久久久</a>| <a href="http://oimeal.com" target="_blank">久久野战av</a>| <a href="http://674446.com" target="_blank">亚洲欧美日韩第一区</a>| <a href="http://414794.com" target="_blank">久久久久国产免费免费</a>| <a href="http://anal-movie-teen.com" target="_blank">日韩亚洲在线</a>| <a href="http://10669p.com" target="_blank">久久精品成人欧美大片古装</a>| <a href="http://9238479.com" target="_blank">一区二区三区高清在线</a>| <a href="http://jsgf444.com" target="_blank">久久精品一区二区</a>| <a href="http://pppp95.com" target="_blank">亚洲欧美日韩精品在线</a>| <a href="http://951738.com" target="_blank">欧美va亚洲va国产综合</a>| <a href="http://eshop999.com" target="_blank">久久成人免费日本黄色</a>| <a href="http://sesese98.com" target="_blank">欧美人在线观看</a>| <a href="http://zztto7.com" target="_blank">牛牛精品成人免费视频</a>| <a href="http://sz-jyqj.com" target="_blank">国产精品性做久久久久久</a>| <a href="http://www330849.com" target="_blank">亚洲电影免费在线</a>| <a href="http://18loutv.com" target="_blank">国产一区二区三区在线免费观看</a>| <a href="http://fangsling.com" target="_blank">亚洲人成免费</a>| <a href="http://www38044.com" target="_blank">在线观看一区二区精品视频</a>| <a href="http://srojsy.com" target="_blank">亚洲一区二区免费在线</a>| <a href="http://3dpasion.com" target="_blank">日韩系列在线</a>| <a href="http://aotaotao.com" target="_blank">欧美一区二区在线免费播放</a>| <a href="http://667996.com" target="_blank">欧美成人午夜激情视频</a>| <a href="http://4388x3.com" target="_blank">久久只精品国产</a>| <a href="http://www-116036.com" target="_blank">国产美女精品</a>| <a href="http://bdkaoyan.com" target="_blank">亚洲一二三四久久</a>| <a href="http://yyypdq.com" target="_blank">亚洲夜晚福利在线观看</a>| <a href="http://wwwby2232.com" target="_blank">欧美高清视频一区二区</a>| <a href="http://56lw.com" target="_blank">欧美成人性生活</a>| <a href="http://ju5556.com" target="_blank">1024欧美极品</a>| <a href="http://5917t.com" target="_blank">久久久久国产一区二区三区四区</a>| <a href="http://www-14333.com" target="_blank">午夜精品视频在线观看</a>| <a href="http://syruili.com" target="_blank">欧美日韩一区二区国产</a>| <a href="http://by777117.com" target="_blank">亚洲精品1区2区</a>| <a href="http://yys4.com" target="_blank">亚洲日本视频</a>| <a href="http://by66336.com" target="_blank">欧美成人精品1314www</a>| <a href="http://by274.com" target="_blank">欧美jizzhd精品欧美喷水</a>| <a href="http://cfqcgw.com" target="_blank">一区二区三区在线免费视频</a>| <a href="http://tavbao.com" target="_blank">欧美一区二区三区的</a>| <a href="http://778kb.com" target="_blank">久久精品99无色码中文字幕</a>| <a href="http://www51avav.com" target="_blank">国产精品视频一区二区高潮</a>| <a href="http://s3yx.com" target="_blank">亚洲午夜免费福利视频</a>| <a href="http://yw5531.com" target="_blank">亚洲男女自偷自拍</a>| <a href="http://261262.com" target="_blank">国产精品久久久久久福利一牛影视</a>| <a href="http://www901aaa.com" target="_blank">亚洲精品午夜精品</a>| <a href="http://y65y.com" target="_blank">99视频精品全部免费在线</a>| <a href="http://y1bbs.com" target="_blank">欧美精品国产精品日韩精品</a>| <a href="http://jlhao123.com" target="_blank">91久久视频</a>| <a href="http://dahuxu.com" target="_blank">亚洲性感美女99在线</a>| <a href="http://laodaohang.com" target="_blank">国产精品初高中精品久久</a>| <a href="http://j88866.com" target="_blank">亚洲午夜精品福利</a>| <a href="http://777777hb.com" target="_blank">久久福利一区</a>| <a href="http://mmmm43.com" target="_blank">亚洲电影av在线</a>| <a href="http://sz-changrong.com" target="_blank">欧美高清在线视频</a>| <a href="http://16kkkk.com" target="_blank">亚洲作爱视频</a>| <a href="http://jsgf444.com" target="_blank">久久精品国产999大香线蕉</a>| <a href="http://012928.com" target="_blank">国产综合视频</a>| <a href="http://8868866.com" target="_blank">嫩草影视亚洲</a>| <a href="http://www205sihu.com" target="_blank">一本久久综合</a>| <a href="http://jsydjxgs.com" target="_blank">久久精品视频免费播放</a>| <a href="http://227002.com" target="_blank">加勒比av一区二区</a>| <a href="http://7a7d.com" target="_blank">欧美粗暴jizz性欧美20</a>| <a href="http://xiehaihua.com" target="_blank">日韩天天综合</a>| <a href="http://278263.com" target="_blank">久久国产一区二区</a>| <a href="http://tutu80.com" target="_blank">亚洲黄色尤物视频</a>| <a href="http://bodabloc.com" target="_blank">欧美日韩国产一区二区三区地区 </a>| <a href="http://weixiao668.com" target="_blank">亚洲一区精品电影</a>| <a href="http://73cao.com" target="_blank">久久视频免费观看</a>| <a href="http://5917t.com" target="_blank">91久久黄色</a>| <a href="http://ayxchc.com" target="_blank">国产精品久久久久久av福利软件</a>| <a href="http://shaijia123.com" target="_blank">午夜欧美理论片</a>| <a href="http://05ec.com" target="_blank">亚洲国产欧美一区二区三区久久 </a>| <a href="http://2502255.com" target="_blank">午夜久久美女</a>| <a href="http://yw1998.com" target="_blank">欧美高清在线</a>| <a href="http://6k7a.com" target="_blank">亚洲欧美视频在线观看视频</a>| <a href="http://hznaja.com" target="_blank">国产亚洲亚洲</a>| <a href="http://114mz.com" target="_blank">欧美精品情趣视频</a>| <a href="http://whaylan.com" target="_blank">午夜性色一区二区三区免费视频</a>| <a href="http://8xyxs1.com" target="_blank">美腿丝袜亚洲色图</a>| <a href="http://77smsm.com" target="_blank">亚洲图片欧美午夜</a>| <a href="http://yzxq520.com" target="_blank">激情小说亚洲一区</a>| <a href="http://cqrebo.com" target="_blank">欧美日韩一区三区四区</a>| <a href="http://cl5555.com" target="_blank">久久精品91久久香蕉加勒比 </a>| <a href="http://jnhrjixie.com" target="_blank">亚洲欧美视频在线</a>| <a href="http://444yd.com" target="_blank">在线观看欧美日韩</a>| <a href="http://1390555.com" target="_blank">国产精品啊v在线</a>| <a href="http://05511253.com" target="_blank">蜜桃伊人久久</a>| <a href="http://www-293456.com" target="_blank">午夜精品久久久久久久久久久久</a>| <a href="http://jldianda.com" target="_blank">欧美电影免费观看</a>| <a href="http://aass123.com" target="_blank">欧美在线播放高清精品</a>| <a href="http://62san.com" target="_blank">日韩一级黄色av</a>| <a href="http://buyiker.com" target="_blank">激情综合视频</a>| <a href="http://devmashup.com" target="_blank">国产精品手机视频</a>| <a href="http://yujiaosanye.com" target="_blank">欧美精品一区二区三</a>| <a href="http://tsjcmm.com" target="_blank">久久精品亚洲一区二区三区浴池 </a>| <a href="http://39ddtv.com" target="_blank">久久亚洲精选</a>| <a href="http://www-06654.com" target="_blank">亚洲欧美春色</a>| <a href="http://cbb188.com" target="_blank">日韩亚洲精品电影</a>| <a href="http://4bbbbb.com" target="_blank">亚洲国产精品久久久久秋霞影院 </a>| <a href="http://xxx6688.com" target="_blank">欧美日韩精品久久久</a>| <a href="http://www19829.com" target="_blank">久久女同精品一区二区</a>| <a href="http://345fz.com" target="_blank">亚洲在线播放电影</a>| <a href="http://jrtkpx.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>