锘??xml version="1.0" encoding="utf-8" standalone="yes"?> [1] 1 澶嶅埗 聽 char* strcpy (char *s1, const char *s2); 聽 char* strncpy (char *s1, const char *s2, size_t len); 聽 void* memmove (void *s1, const void *s2, size_t len); 聽 size_t strxfrm (char *s1, const char *s1, size_t len); 聽 聽 char* strcat (char *s1, const char *s2); 聽 char* strncat (char *s1, const char *s2, size_t len); 聽 聽 int strcmp (const char *s1, const char *s2); 聽 int strncmp (const char *s1, const char *s2, size_t len); 聽 int strcoll (const char *s1, const char *s2); 聽 聽 鍦?/span>s涓煡鎵劇粰瀹氬瓧絎?/span>(瀛楄妭鍊?/span>)ch絎竴嬈″嚭鐜扮殑浣嶇疆 聽 char* strrchr (const char *s, int ch); 聽 char* strstr (const char *s1, const char *s2); 聽 size_t strspn (const char *s1, const char *s2); 聽 size_t strcspn (const char *s1, const char *s2); 聽 char* strpbrk (const char *s1, const char *s2); 聽 char* strtok (char *s1, const char *s2); 聽 聽 size_t strlen (const char *s); 聽 void* memset (void *s, int val, size_t len); 聽 char* strerror (int errno); 聽
聽聽
聽聽銆銆鍦ㄦ湰鏂囦腑鎴戜滑涓嶆兂娑夊強(qiáng)鍒板緢綺炬繁鐨勬妧鏈紝浠諱綍紼嶅井鎳備竴鐐圭數(shù)鑴戝拰Internet鐭ヨ瘑鐨勪漢閮藉彲浠ョ悊瑙f湰綃囩殑鍐呭銆侻icorosoft榪樹負(fù)閭d簺甯屾湜鎺屾彙
.NET
鐨勫叕鍙告墽琛屽畼銆両T棰嗗鍜岀▼搴忓憳浠?
聽聽鎻愪緵浜?jiǎn)鏇村鐨勮祫婧愩?
聽聽
聽聽銆銆浠涔堟槸Microsoft
.NET
?
聽聽
聽聽銆銆Microsoft
.NET
鏄疢icrosoft鐨?/font>
XML
Web鏈嶅姟騫沖彴銆?/font>
.NET
鍖呭惈浜?jiǎn)寰忕珛鍜寴q愯鍩轟簬
XML
鐨?/font>
杞歡
鎵闇瑕佺殑鍏ㄩ儴閮ㄤ歡銆?
聽聽
聽聽銆銆Microsoft
.NET
瑙e喅浜?jiǎn)涓嬮潰杩欎簺褰撲?/font>
杞歡
寮鍙戜腑鐨勪竴浜涙牳蹇?jī)闂锛?xì)
聽聽
聽聽銆銆鈼忎簰鎿嶄綔鎬?Interoperability)銆侀泦鎴愭?Integration)鍜屽簲鐢ㄧ▼搴忕殑鍙墿灞曟?extensibility)澶毦瀹炵幇鑰屼笖浠d環(huán)寰堥珮銆侻icrosoft
.NET
渚濋潬
XML
(涓涓敱World Wide Web Consortium(W3C)綆$悊鐨勫紑鏀炬爣鍑?娑堥櫎浜?jiǎn)鏁版嵁鍏变韩鍜?/font>
杞歡
闆嗘垚鐨勯殰紕嶃?
聽聽
聽聽銆銆鈼忔棤鏁板叿鏈夌浉褰撶珵浜夊姏鐨勭鏈?/font>
杞歡
鎶鏈嬌寰?/font>
杞歡
鐨勯泦鎴愬彉寰楅潪甯稿鏉傘傝孧icrosoft
.NET
寤虹珛鍦ㄤ竴涓紑鏀劇殑鏍囧噯涓婏紝瀹冨寘鍚簡(jiǎn)鎵鏈?/font>
緙栫▼
璇█銆?
聽聽
聽聽銆銆鈼忓綋緇堢鐢ㄦ埛浣跨敤
杞歡
鏃訛紝浠栦滑鎬昏寰椾笉澶熺畝渚褲傛湁鏃剁敋鑷蟲劅鍒板緢娌撫錛屽洜涓轟粬浠棤娉曞湪紼嬪簭涔嬮棿鏂逛究鍦板叡浜暟鎹垨鏄棤娉曞鑳借闂殑鏁版嵁榪涜鎿嶄綔銆?/font>
XML
浣挎暟鎹氦鎹㈠彉寰楀鏄撲簡(jiǎn)錛屽茍涓?/font>
.NET
杞歡
鍙互浣垮緱鐢ㄦ埛鍙涓寰楀埌鏁版嵁灝辮兘瀵瑰畠浠繘琛屾搷浣溿?
聽聽
聽聽銆銆鈼忕粓绔敤鎴蜂滑鍦ㄤ嬌鐢╓eb鐨勬椂鍊欙紝鏃犳硶瀵硅嚜宸辯殑涓漢淇℃伅鍜屾暟鎹繘琛屾帶鍒訛紝榪欏鑷翠簡(jiǎn)涓漢闅愮鍜屽畨鍏ㄦ硠婕忛棶棰樸傝孧icrosoft
.NET
鎻愪緵浜?jiǎn)涓濂楁湇鍔★紝浣跨敤鎴峰彲浠ョ鐞嗕粬浠殑涓漢淇℃伅錛屽茍涓旀帶鍒跺榪欎簺淇℃伅鐨勮闂?
聽聽
聽聽銆銆鈼?COM鍏徃鍜學(xué)eb绔欑偣寮鍙戣呬滑寰堥毦涓虹敤鎴蜂滑鎻愪緵瓚沖鐨勬湁浠峰肩殑鏁版嵁錛岃嚦灝戞湁涓閮ㄥ垎鍘熷洜鏄敱浜庝粬浠殑搴旂敤紼嬪簭鍜屾湇鍔℃棤娉曞緢濂藉湴鍜屽叾浠栫▼搴忓拰鏈嶅姟鍚堜綔錛屽彧鏄竴涓笉鍜屽鐣岃繛鎺ョ殑淇℃伅瀛ゅ矝銆傝孧icrosoft
.NET
鐨勮璁″畻鏃ㄥ氨鏄負(fù)浜?jiǎn)鋴涉潵鑷簬澶氫釜绔欑偣鍜屽叕鍙哥殑鏁版嵁鎴栨湇鍔¤兘澶熸暣鍚堣典h潵銆?
聽聽
聽聽銆銆濡傚悓MS-DOS鍜學(xué)indows涓鏍鳳紝
.NET
灝嗗ぇ澶ф敼鍙樻垜浠殑璁$畻棰嗗煙銆侻S-DOS浣垮緱涓漢鐢?shù)鑴戝湪鍟嗕笟鍜屽搴腑骞夸负鎺ュ彈锛沇indows澧炲己浜?jiǎn)鐢ㄦ堬L(fēng)殑鍥懼艦鐣岄潰錛屼嬌鍏舵垚涓洪閫夌殑涓?/font>
杞歡
浜や簰鏂瑰紡錛屾渶緇堜嬌寰楀浘褰㈢晫闈㈡垚涓轟釜浜虹數(shù)鑴戠殑涓繪祦銆傝?/font>
.NET
鍒欒鎶?/font>
XML
Web鏈嶅姟鍙樻垚鏃ュ悗鐨勪富嫻佽綆楁ā寮忋?
聽聽
聽聽銆銆
XML
Web鏈嶅姟鏄緩绔嬪湪
XML
鏁版嵁浜ゆ崲鍩虹涓婄殑
杞歡
妯″瀷錛屽畠甯姪搴旂敤紼嬪簭銆佹湇鍔″拰璁懼涓璧峰伐浣溿傜敤
XML
榪涜鍏變韓鐨勬暟鎹紝褰兼涔嬮棿鐙珛錛屼絾鍚屾椂鍙堣兘澶熸澗鑰﹀悎鍦拌繛鎺ュ埌涓涓墽琛屾煇鐗瑰畾浠誨姟鐨勫悎浣滅粍銆?
聽聽
聽聽銆銆鎯充簡(jiǎn)瑙?/font>
XML
Web鏈嶅姟濡備綍宸ヤ綔錛屾渶鏂逛究鐨勬柟娉曞氨鏄妸瀹冨拰鎷艱
娓告垙
浣滄瘮杈冦?/font>
XML
Web鏈嶅姟鍜屾嫾瑁?/font>
娓告垙
鐨勬嫾鍧椾竴鏍鋒槸涓浜涚嫭绔嬬殑鍗曞厓銆傚悗鑰呯敤涓涓爣鍑嗙殑鏂規(guī)硶鐩鎬簰鍜悎鍦ㄤ竴璧鳳紝
XML
Web鏈嶅姟涓庤繖綾諱技錛屼絾瀹冩槸閫氳繃
XML
message瀹炵幇鐩鎬簰浜や簰鐨勩傚綋浣犳妸鎷煎潡鎷煎湪涓璧鋒椂錛屼綘灝卞緱鍒頒簡(jiǎn)涓涓璞★細(xì)涓騫㈡埧瀛愩佷竴鑹樿埞鎴栦竴鏋墮鏈恒傚悓鏍鳳紝褰撲綘鎶?/font>
XML
Web鏈嶅姟緇撳悎鍦ㄤ竴璧鋒椂錛屼綘灝卞緱鍒頒簡(jiǎn)涓涓畬鎴愭煇鐗瑰畾浠誨姟鐨?/font>
杞歡
瑙e喅鏂規(guī)銆傚悓涓鎷煎潡鍙互鐢ㄥ湪寰堝涓嶅悓瀵硅薄涓紝鑰屼竴涓?/font>
XML
Web鏈嶅姟鍚屾牱涔熷彲浠ョ敤鍦ㄤ笉鍚岀殑鏂規(guī)緇勪腑錛屼綔涓轟笉鍚屼換鍔¤В鍐蟲柟妗堢殑涓涓粍鎴愰儴鍒嗐?
聽聽
聽聽銆銆
XML
Web鏈嶅姟浣垮紑鍙戣呰兘澶熷浠栦滑鎵瑕佺殑紼嬪簭鐨勬潵婧愯繘琛岄夋嫨錛屽彲浠ヨ嚜宸卞垱寤烘垨璐拱紼嬪簭鐨勫姛鑳藉潡錛涘悓鏍蜂篃鍙互閫夋嫨鏄鑷繁鐨勬柟妗堜嬌鐢ㄥ叾浠栫殑
XML
Web鏈嶅姟錛岃繕鏄鍏朵粬鐨勭▼搴忎嬌鐢ㄨ嚜宸辯殑鏈嶅姟銆傝繖鎰忓懗鐫涓涓叕鍙鎬笉蹇呬負(fù)浜?jiǎn)缁欏鎴蜂竴涓畬鏁寸殑瑙e喅鏂規(guī)鑰屼笉寰椾笉鎻愪緵鏂規(guī)鐨勬瘡涓涓粍鎴愰儴鍒嗐?
聽聽
聽聽銆銆
XML
Web鏈嶅姟闄や簡(jiǎn)涓湇鍔$浉浜掍箣闂寸嫭绔嬩互澶栵紝瀵硅闂畠浠殑璁懼鑰岃█涔熸槸鐙珛鐨勩備笌鐙珛搴旂敤紼嬪簭涓嶅悓鐨勬槸錛?/font>
XML
Web鏈嶅姟騫舵病鏈夋潫緙氫簬鏌愪竴鐗瑰畾鐨?/font>
緙栫▼
璇█鎴栧晢涓氬簲鐢ㄧ▼搴忔垨鑰呮槸鏌愪竴鍦ㄧ嚎鏈嶅姟銆傝繖緇欎簡(jiǎn)緇堢鐢ㄦ埛瓚沖鐨勮嚜鐢憋紝浣垮叾鍙互浣跨敤浠諱綍璁塊棶璁懼錛屼粠鍙板紡鐢?shù)鑴戝埌绉诲姩鐢?shù)璇濋兘鍙互銆?
聽聽
聽聽銆銆
.NET
鎴樼暐
聽聽
聽聽銆銆Microsoft
.NET
紼嬪簭鍛樹滑璁捐緙栧啓鐨勬槸
XML
Web鏈嶅姟錛岃屼笉鏄湇鍔″櫒鎴栧鎴風(fēng)鐨勭嫭绔嬪簲鐢ㄧ▼搴忋備粬浠妸榪欎簺鏈嶅姟緇勫悎鎴愭澗鑰﹀悎錛岀浉浜掑崗浣滅殑
杞歡
緹わ紝
XML
Web鏈嶅姟涔嬮棿浣跨敤
XML
messaging榪涜閫氳銆備負(fù)浜?jiǎn)鍋氬埌杩欎竴鐐癸紝紼嬪簭鍛橀渶瑕侊細(xì)
聽聽
聽聽銆銆1.涓涓?/font>
杞歡
騫沖彴錛岀敤浜庡緩绔嬩竴縐嶆柊鐨勫畬鏁寸殑涓漢鐢ㄦ埛緇忛獙銆?
聽聽
聽聽銆銆2.涓涓?/font>
緙栫▼
妯″瀷鍜屽伐鍏鳳紝鐢ㄤ互寤虹珛鍜屾暣鍚?/font>
XML
Web鏈嶅姟銆?
聽聽
聽聽銆銆3.涓濂楄兘涓哄簲鐢ㄧ▼搴忓拰鏈嶅姟鎻愪緵鍩虹鐨勫彲
緙栫▼
鐨勬湇鍔?
聽聽
聽聽銆銆Microsoft鐨?/font>
.NET
鎴樼暐灝辯瀯鍑嗕簡(jiǎn)榪欎笁鐐廣?
聽聽
聽聽銆銆
.NET
鍖呮嫭錛?
聽聽
聽聽銆銆鈼?/font>
.NET
騫沖彴錛岃繖鏄竴濂?/font>
緙栫▼
宸ュ叿鍜屽熀鏈瀯鏋訛紝鐢ㄦ潵鍒涘緩銆佸彂甯冦佺鐞嗗拰鏁村悎
XML
Web鏈嶅姟
聽聽
聽聽銆銆鈼?/font>
.NET
浣撻獙錛岃繖鏄粓绔敤鎴風(fēng)敤浠ュ拰
.NET
浜や簰鐨勬墜孌?br />
.NET
騫沖彴
聽聽
聽聽銆銆Microsoft鐨勫鉤鍙版槸鐢辯敤浜庡垱寤哄拰榪愯
XML
Web鏈嶅姟緇勬垚鐨勩傚畠鍖呭惈浜?jiǎn)涓嬮潰鍥涗釜缁勪挥灱?xì)
聽聽
聽聽銆銆
.NET
妗嗘灦鍜孷isual Studio
.NET
:榪欎簺鏄紑鍙戜漢鍛樼敤鏉ョ敓鎴?/font>
XML
Web鏈嶅姟鐨勫伐鍏楓?/font>
.NET
妗嗘灦鏄疢icrosoft
.NET
騫沖彴鏍稿績(jī)涓殑涓濂?/font>
緙栫▼
鎺ュ彛錛沄isual Studio
.NET
鏄竴濂楀璇█緋誨垪鐨?
聽聽
緙栫▼
宸ュ叿銆?
聽聽
聽聽銆銆鏈嶅姟鍣ㄥ熀鏈粨鏋?Server Infrastructure):
.NET
鐨勬湇鍔″櫒鍩烘湰緇撴瀯鏄竴緋誨垪鐢ㄤ簬鐢熸垚銆佸彂甯冨拰鎿嶄綔
XML
Web鏈嶅姟鐨勫熀紜紼嬪簭錛屽寘鎷琖indows鍜屽悇縐?/font>
.NET
浼佷笟鏈嶅姟鍣ㄣ備富瑕佺殑鎶鏈寘鎷
XML
銆乻cale-out鍙?qiáng)璺ńE嬪簭鍜屾湇鍔$殑鍟嗗姟嫻佺▼(business process orchestration)鐨勬敮鎸併傝繖浜涙湇鍔″櫒鍖呮嫭鏈夛細(xì)
聽聽
聽聽銆銆鈼廇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錛屼嬌縐誨姩璁懼錛屾瘮濡傜Щ鍔ㄧ數(shù)璇濓紝涔熻兘浣跨敤榪欎簺搴旂敤紼嬪簭
聽聽
聽聽銆銆鈼?/font>
SQL
Server
2000鍌ㄥ瓨鍜屾绱㈢粨鏋勫寲鐨?a class="Channel_KeyLink" >XML鏁版嵁
聽聽
聽聽銆銆Building Block Services: Building Block Services鏄竴濂椾互鐢ㄦ埛涓轟腑蹇?jī)鐨?/font>XML Web鏈嶅姟錛屽畠鎶婄敤鎴鋒暟鎹殑鎺у埗鏉冧粠搴旂敤紼嬪簭縐誨埌浜?jiǎn)鐢ㄦ堜h墜涓婏紝浣縒eb鏈変簡(jiǎn)涓涓炕澶╄鍦扮殑鍙樺寲錛屽仛鍒頒簡(jiǎn)紼嬪簭銆佹湇鍔″拰璁懼涔嬮棿鐨勭畝鍗曟у強(qiáng)涓鑷存э紝榪欎繚璇佷簡(jiǎn)鎵鏈夌殑浜ゆ槗閮藉繀欏誨緱鍒扮敤鎴風(fēng)殑鍚屾剰銆傝繖浜涙湇鍔″寘鍚簡(jiǎn)Passport(鐢ㄤ簬鐢ㄦ埛韜喚楠岃瘉)銆佹湇鍔′箣闂寸殑娑堟伅浼犻掋佹枃浠跺瓨鍌ㄣ佺敤鎴蜂釜鎬ц緗殑綆$悊銆佹棩鍘嗙鐞嗗拰鍏朵粬涓浜涘姛鑳姐侻icrosoft灝嗗湪閭d簺瀵?/font>.NET鍩烘湰緇撴瀯璧瘋嚦鍏抽噸瑕佷綔鐢ㄧ殑棰嗗煙鍐呮彁渚涗竴浜涘潡鏋勫緩鏈嶅姟(building block services)銆傚ぇ閲忕殑鍚堜綔浼欎即鍜屽紑鍙戝晢灝嗗榪欎簺鍧楁瀯寤烘湇鍔′綔閲嶈鐨勬墿灞曘?
聽聽
聽聽銆銆鏅鴻兘璁懼(smart device): .NET鍒╃敤杞歡浣挎櫤鑳借澶囷紝璇稿鎵嬫彁鐢?shù)鑴戙佽交渚跨數(shù)璇濄?/font>娓告垙鎿嶇旱鍙扮瓑閮借兘澶熷湪.NET涓栫晫涓緱浠ヤ嬌鐢ㄣ?
聽聽
聽聽銆銆涓涓櫤鑳借澶囧簲璇ワ細(xì)
聽聽
聽聽銆銆鈼忓鐢ㄦ埛瑕佹櫤鑳斤細(xì)鑳芥牴鎹敤鎴風(fēng)殑.NET韜喚銆佹。妗?profile)鍜屾湁鍏蟲暟鎹畝鍖栫敤鎴風(fēng)殑宸ヤ綔錛涘彟澶栬瀵圭敤鎴風(fēng)殑瀛樺湪瓚沖鐨勬櫤鑳斤紝鑳芥牴鎹綘鐨勫湪涓庝笉鍦ㄥ閫氱煡(notification)浣滃嚭璋冩暣銆?
聽聽
聽聽銆銆鈼忓緗戠粶瑕佹櫤鑳斤細(xì)璐熻矗甯﹀鐨勯檺鍒訛紱鏀寔搴旂敤紼嬪簭鐨勫湪綰垮拰綰夸笅涓ょ浣跨敤妯″紡錛涚煡閬撴湁鍝簺鏈夋晥鐨勬湇鍔°?
聽聽
聽聽銆銆鈼忓淇℃伅瑕佹櫤鑳斤細(xì)鑳藉湪浠諱綍鍦版柟銆佷換浣曟椂闂磋闂佸垎鏋愬拰鎿嶄綔鏁版嵁銆?
聽聽
聽聽銆銆鈼忓鍏朵粬鐨勮澶囪鏅鴻兘錛氳兘鍙戠幇鍜屾姤鍛婂叾浠栨櫤鑳借澶囥佹湇鍔″拰Internet鐨勫瓨鍦紱鐭ラ亾濡備綍涓哄叾浠栬澶囨彁渚涙湇鍔★紱鑳藉鐏墊椿鏂逛究鍦頒粠PC涓婅闂俊鎭?
聽聽
聽聽銆銆鈼忓杞歡鍜屾湇鍔¤鏅鴻兘錛氳兘鏍規(guī)嵁琛ㄥ崟鐨勬儏鍐碉紝鏈鎭板綋鍦拌〃鐜板簲鐢ㄥ拰鏁版嵁錛涗負(fù)緇堢鐢ㄦ埛鎻愪緵鍚堥傜殑杈撳叆鏂規(guī)硶鍜岃繛鎺ワ紱鐢?/font>XML銆丼OAP鍜孶DDI鏉ヤ嬌鐢╓eb鏈嶅姟錛涘寮鍙戣呮潵璇達(dá)紝瑕佸叿鏈夊彲緙栫▼鎬у拰鎵╁睍鎬?
聽聽
聽聽銆銆Microsoft鐨勪竴浜?/font>杞歡浣胯兘澶熷湪鏅鴻兘璁懼涓婅繍琛岀殑錛屽畠浠寘鎷琖indows XP銆乄indows Me銆乄indows CE銆佸祵鍏ュ紡Windows銆?/font>.NET妗嗘灦浠ュ強(qiáng).NET Compact妗嗘灦銆?
聽聽
聽聽銆銆.NET浣撻獙(.NET experiences)
聽聽
聽聽銆銆緇堢鐢ㄦ埛鏄氳繃.NET浣撻獙璁塊棶XML Web鏈嶅姟鐨勶紝榪欏拰鐜版湁鐨勭嫭绔嬪簲鐢ㄧ▼搴忔湁鐐圭被浼鹼紝浣嗗湪涓嬪垪榪欎簺閲嶈鐨勬柟闈㈡槸涓嶅悓鐨勶細(xì)
聽聽
聽聽銆銆鈼?/font>.NET浣撻獙鍙嬌鐢ㄤ簬澶氱璁懼鎴戜滑鏃犻渶涓哄彲鑳戒嬌鐢ㄧ殑姣忎竴涓澶囩紪鍐欎竴涓笉鍚?/font>XML Web鏈嶅姟鍜屼笉鍚岀殑.NET浣撻獙錛?/font>.NET浣撻獙鑳藉璇誨彇鐢ㄦ埛閫夊彇璁懼鐨勭壒寰侊紝緇欏嚭涓涓伆褰撶晫闈€?
聽聽
聽聽銆銆鈼?/font>.NET浣撻獙浣跨敤XML Web鏈嶅姟褰?/font>.NET浣撻獙榪炲叆緗戠粶鍚庡氨鑳芥湁鏁堝湴鍒╃敤XML Web鏈嶅姟涓虹敤鎴峰甫鏉ラ澶栫殑浠峰鹼紝浠ユ洿濂藉湴瑙e喅闂銆?
聽聽
聽聽銆銆鈼?/font>.NET浣撻獙鏄互鐢ㄦ埛涓轟腑蹇?jī)鐨?/font>.NET浣撻獙鐨勭劍鐐瑰湪緇堢鐢ㄦ埛錛屼嬌鐢ㄥ熀浜庤韓浠介獙璇佺殑鍧楁瀯寤烘湇鍔℃潵涓虹敤鎴烽獙璇併佸弬鏁拌瀹氥侀氱煡鏈哄埗鍜岀敤鎴鋒暟鎹彁渚涙湇鍔°傚洜涓虹敤鎴鋒暟鎹槸鐢卞潡鏋勫緩鏈嶅姟綆$悊鐨勶紝鑰屼笉鏄簲鐢ㄧ▼搴忔湰韜紝鎵浠ョ敤鎴峰氨鑳芥帶鍒朵粬浠嚜宸辯殑鏁版嵁錛岃兘淇濋殰瀹冪殑姝g‘鎬э紝騫朵笖鍙互鍦ㄤ笉鍚岀殑紼嬪簭鍜屾湇鍔′箣闂村崗璋冩暟鎹?
聽聽
聽聽銆銆Microsoft姝e湪浣挎渶鍙楁榪庣殑鍥涗釜浜у搧榪囨浮鍒?/font>.NET浣撻獙銆侻icrosoft Office XP涓虹敤鎴鋒彁渚?/font>.NET浣撻獙鏂歸潰璺ㄥ嚭浜?jiǎn)绗竴姝ャ傚彟澶栵紝MSN錛屽寘鎷琈SN Explorer鏈湴瀹㈡埛绔殑浣跨敤錛屾鍦ㄥ垱寤轟竴涓熀浜庢秷璐硅呯殑.NET浣撻獙銆侻icrosoft bCentral鐨勫皬鍨嬪晢鍔″叆鍙?business portal)姝e姫鍔涗負(fù)灝忓瀷浜嬪姟(姣斿鍟嗗搧鐩綍綆$悊)鎻愪緵蹇呰鐨?/font>XML Web鏈嶅姟錛屽悓鏃朵篃浣跨敤涓浜涢噸瑕佺殑XML Web鏈嶅姟(姣斿eBay)銆俈isual Studio寮鍙戠郴緇熷皢涓哄紑鍙戣呬滑鎻愪緵.NET浣撻獙錛屽彲浠ュ湪榪欎簺寮鍙戝伐鍏蜂腑鐩存帴寰楀埌MSDN淇℃伅銆?
聽聽
聽聽銆銆.NET鐨勫ソ澶?
聽聽
聽聽銆銆Microsoft .NET涓虹▼搴忓憳銆佸晢涓氶瀵箋両T閮ㄩ棬浠ュ強(qiáng)娑堣垂鑰呭甫鏉ヤ簡(jiǎn)寰堝濂藉銆?
聽聽
聽聽銆銆鈼忕浉瀵規(guī)潵璇達(dá)紝紼嬪簭鍛樻槸姣旇緝緙轟箯鐨勶紝闆囩敤鐨勮垂鐢ㄤ篃寰堥珮銆傜劧鑰孧icrosoft .NET浣?/font>緙栫▼宸ヤ綔鍙樺緱鏇村姞瀹規(guī)槗錛屽紑鍙戞姇璧勭殑鍥炴姤鐜囦篃瓚嬫渶澶у寲銆傚紑鍙戣呬滑鍙互鍒涘緩鑳介噸鐢ㄧ殑XML Web鏈嶅姟錛岃屼笉鍐嶆槸涓涓崟涓鐨勭▼搴忥紱榪欎簺Web鏈嶅姟鏄撲簬緙栫▼鍜岃皟璇曪紝褰兼涔嬮棿鐩鎬簰鐙珛錛岄氳繃XML message閫氳鍙?qiáng)鍚堜綔銆傛墍浠ュ鏌愪竴涓湇鍔$殑淇敼涓嶄細(xì)褰卞搷鍒板叾浠栫殑鏈嶅姟銆?
聽聽
聽聽銆銆鐢變簬XML Web鏈嶅姟鍙互琚緢澶?/font>.NET浣撻獙鍏卞悓浣跨敤錛屾墍浠ュ涓涓湇鍔℃ā鍧楃殑鏈夋晥鏇存柊錛屼篃鍗蟲洿鏂頒簡(jiǎn)鎵鏈変嬌鐢ㄨ繖涓ā鍧楃殑.NET浣撻獙銆備換浣?/font>緙栫▼璇█閮藉彲浠ョ敤鏉ョ紪鍐?/font>XML Web鏈嶅姟(濡傦細(xì)C銆?/font>C++銆乂isual Basic銆丆OBOL銆丳erl銆丳ython鍜孞ava絳?錛屾墍浠ヤ綘鐨勭▼搴忓憳鍙互閫夋嫨浠栦滑鏈鐔熸?zhèn)夌殑璇a鏉?/font>緙栫▼錛岃繖澶уぇ鎻愰珮浜?jiǎn)寮鍙戞晥鐜囥傛洿鍊煎緱涓浣撶殑鏄紝浠栦滑騫舵病鏈夊洜浣跨敤浜?jiǎn)涓嶅悓鐨勮瑷鑰屽け鍘昏法鏈嶅姟鎴栬法緇勪歡鐨勮皟璇曡兘鍔涖?
聽聽
聽聽銆銆鈼廙icrosoft .NET鍑忓皯浜?jiǎn)绋嬪簭鍛樿鍐欑殑浠g爜閲忋備竴涓?/font>XML Web鏈嶅姟鑳介傜敤浜庢墍浠ョ殑璁懼錛屼笉蹇呭啀鍘諱負(fù)姣忎竴涓澶囩紪鍐欎竴涓笉鍚岀殑鐗堟湰銆傚彟澶栵紝灝嗘樉紺虹壒鎬т笌.NET浣撻獙鍒嗗紑浠ヤ究浠ュ悗鍔犲叆鏂扮殑鎺ュ彛鎶鏈紝姣斿璇煶鎴栨墜鍐欒瘑鍒紝鑰屼笉蹇呭幓閲嶅啓紼嬪簭銆?
聽聽
聽聽銆銆鈼廙icrosoft .NET寮鍒涗簡(jiǎn)鍏ㄦ柊鐨勫晢涓氭ā鍨嬶紝瀹冧嬌寰椾竴涓叕鍙稿彲浠ョ敤澶氱鏂規(guī)硶鏉ユ妸鑷繁鐨勬妧鏈晢鍝佸寲銆傛嵁涓緥瀛愭潵璇達(dá)紝涓涓氳鍏徃鍙互浣跨敤XML Web鏈嶅姟鐨勬柟寮忔彁渚涜闊充俊浠跺拰鍛煎彨鑰匢D鐨勮闂紝璁╃敤鎴蜂粠涓涓嵆鏃舵秷鎭▼搴忋佺數(shù)瀛愰偖浠舵垨鐢ㄦ埛鎵閫夌殑鍏朵粬淇℃伅緙栬瘧鍣ㄤ腑璁塊棶鍒頒笂榪頒俊鎭傛妧鏈彁渚涘晢鍙互鎶婁粬浠幇鏈夌殑杞歡鍖呰漿鍙樹負(fù)XML Web鏈嶅姟錛屽茍鎶婅繖浜涙湇鍔″嚭鍞粰闇瑕佽繖浜涘姛鑳界涓夋柟錛屾垨鏄粰.NET浣撻獙鎻愪緵鍟嗭紝鐢ㄤ互鏋勫緩鏂扮殑杞歡鍖呫?br />
鈼廙icrosoft .NET鍏佽IT閮ㄩ棬浣跨敤鍏朵粬鎻愪緵鍟嗙殑XML Web鏈嶅姟錛屽噺灝戝唴閮ㄧ爺鍙戠殑寮閿錛屽茍鑳芥彁楂樺伐浣滄晥鐜囥?
聽聽
聽聽銆銆鈼廙icrosoft .NET瀵?鐢ㄦ埛鐣岄潰鍙嬪ソ"浣滀簡(jiǎn)閲嶆柊瀹氫箟銆傜粓绔敤鎴瘋兘澶熷緶寰変簬涓涓櫤鑳藉寲鐨勩佷釜鎬у寲鐨処nternet錛屽畠鑳借浣忕敤鎴風(fēng)殑涓漢璁劇疆錛屽茍鍦ㄩ傚綋鐨勬椂鍊欙紝鍚戠敤鎴蜂嬌鐢ㄧ殑鏅鴻兘璁懼涓婂彂閫侀傚綋鐨勬暟鎹?br />.NET濡備綍鏀瑰彉璁$畻
聽聽
聽聽銆銆Microsoft .NET灝嗕粠鏍規(guī)湰涓婃敼鍙樻垜浠殑鎬濊冨拰浣跨敤鐢?shù)鑴戠殑鏂瑰紡銆傜洰鍓?鏈嶅姟鍣?鍜?妗岄潰鐢?shù)鑴?榪欎袱縐嶆蹇靛崰鎹簡(jiǎn)璁$畻棰嗗煙鐨勭粺娌誨湴浣嶃傜劧鑰孧icrosoft .NET鏄竴縐嶅垎甯冨紡璁$畻鑼冧緥錛屽畠娌℃湁浜?jiǎn)浼牼l熶笂鐨勬湇鍔″櫒鍜屾闈㈢數(shù)鑴戠殑鍖哄埆錛屽彇鑰屼唬涔嬬殑鏄紝璁$畻鐨勫鐞嗚鏀懼湪鏈鍚堥傜殑鍦版柟榪涜錛屽彲鑳芥槸鏈嶅姟
聽聽鍣紝鎴栨槸PC錛屼篃鏈夊彲鑳芥槸鎵嬫彁鐢?shù)鑴戜互鍙?qiáng)鍏朵粬鏅鴻兘璁懼銆傝繖灝辨槸鏅鴻兘璁$畻銆?
聽聽
聽聽銆銆.NET鐨勮綆楁ā鍨嬪鍟嗗姟鍜岀粓绔敤鎴烽兘浜х敓浜?jiǎn)閲嶈濯?jiǎng)鍝嶏紝浣嗘柟娉曚笉鍚屻傚緇堢鐢ㄦ埛鏉ヨ錛岃繖涓柊璁$畻妯″紡鏇村叿涓у寲銆佺患鍚堢▼搴︽洿楂橈紝浼?xì)缁欎粬浠甫鏉ヤ竴縐嶅彶鏃犲墠渚嬬殑鏂頒綋楠屻傚鍟嗗姟鏉ヨ錛岃繖涓ā寮忔敼鍙樹簡(jiǎn)鍒墮犲拰閿鍞?/font>杞歡鐨勬柟娉曪紝浣縄T鎴愪負(fù)涓涓叕鍙告垚鍔熺殑閲嶈璐$尞鑰咃紝騫跺緩绔嬭搗鏂扮殑鍟嗗姟妯″瀷銆?
聽聽
聽聽銆銆瀵圭粓绔敤鎴風(fēng)殑鏀瑰彉
聽聽
聽聽銆銆榪欓噷鏈変竴涓緥瀛愶紝璇存槑浜?/font>.NET浣撻獙鏄浣曞涓涓粓绔敤鎴蜂駭鐢熷獎(jiǎng)鍝嶇殑銆?
聽聽
聽聽銆銆Bob錛屼竴涓笉瀹夌殑鍟嗗姟鏃呰鑰咃紝鍦ㄨ姖鍔犲摜涓嬩簡(jiǎn)椋炴満錛岀獊鐒舵兂璧蜂粬绔熷繕浜?jiǎn)甯︿笂浠栫殑閭i儴鏅鸿兘鐢?shù)璇濄傝繖涓嬪畬浜?jiǎn)锛屾病浜?jiǎn)榪欑數(shù)璇濅粬鏃犳硶鐭ラ亾鏅氬鍦ㄥ摢閲岃繘琛岋紝鏃犳硶鐭ラ亾鍘熸湰鎵撶畻鍦ㄦ櫄瀹翠笂瑙侀潰鐨勪漢鐨勭數(shù)璇濆彿鐮侊紝鏇存儴鐨勬槸錛屼粬鏃犳硶鍦ㄨ繖涓叧閿殑浼?xì)璁箣鍓嶅啀鐪嬩竴涓嬮噸瑕佺殑鏂囦歡銆備絾涓嶇敤鎬ワ紝浠栦粠鏈哄満鐨勭浜?jiǎn)涓閮ㄦ櫤鑳界數(shù)璇濓紝鎻掑叆浜?jiǎn)鑷忿q殑鏅鴻兘鍗°傚緢蹇氳繃鍐呯疆鐨処nternet榪炴帴錛屽悇縐嶇浉鍏崇殑閲嶈鏁版嵁鍏ㄩ儴琚笅杞戒簡(jiǎn)涓嬫潵錛岀幇鍦ㄤ粬鑳借闂粬鐨勬墍鏈変俊鎭紝涓嶅厜鏄棩紼嬪畨鎺掑拰鐢?shù)璇澖惪锛寴q樻湁鎵鏈夐氬父鐢ㄤ粬鐨凱C鏈鴻兘璁塊棶鍒扮殑鎵浠ユ枃浠躲?
聽聽
聽聽銆銆涓嶅垢鐨勬槸錛屼粬鍦ㄧ寮鏈哄満鏃朵笉灝忓績(jī)鍦ㄨ嚜鍔ㄦ壎姊笂緇婁簡(jiǎn)涓璺わ紝鑴氳笣涓ラ噸鎵激錛岃繖涓湀榪欏凡緇忔槸絎簩嬈′簡(jiǎn)銆傛棤濂堬紝浠栧己蹇嶇柤鐥涜姹傜數(shù)璇濇帴Roger鍖葷敓鐨勫姙鍏錛屽惉鐢?shù)璇濈殑鏄帴寰呭憳Mildred灝忓銆侭ob閫氳繃鐢?shù)璇澕嫯璁や簡(jiǎn)鑷忿q殑韜喚錛屼粬鎺堟潈浜嶮ildred灝忓錛岃濂硅闂嚜宸辯殑鎵鍦ㄤ綅緗拰鍏朵粬涓浜涗俊鎭紝浠ヤ究浣垮ス鍙互鍦ㄩ檮榪戞壘涓瀹舵暣褰㈠縐戣瘖鎵銆侻ildred鑳藉鐭ラ亾鍝璇婃墍姝e湪钀ヤ笟錛屾湁澶氳繙錛屾槸鍚︽帴鍙桞ob鐨勪繚闄┿侭ob鎵瑕佸仛鐨勫氨鏄交鎸夌數(shù)璇濅笂鐨勬寜閽巿鏉冪粰濂癸紝Mildred鍦ㄦ壘鍒拌瘖鎵鍚庝究浼?xì)鍜屽屓潝熅U︽椂闂淬?
聽聽
聽聽銆銆涓嶮ildred閫氳瘽緇撴潫鍚庯紝Bob鐢ㄤ粬鐨勬櫤鑳界數(shù)璇濊闂嚭縐熻濺鏈嶅姟錛屾煡鎵劇浠栨渶榪戠殑鍑虹杞︼紝騫剁‘璁ょ洰鐨勫湴銆傛帴涓嬫潵Bob鍙渶鐖繘杞﹀唴錛岃交鎸夌數(shù)璇濈殑鏄劇ず灞忕‘璁ゆ敮浠樼殑璐圭敤鍗沖彲銆?
聽聽
聽聽銆銆浠庣敤鎴瘋搴︽潵璁詫紝.NET鎻愪緵鐨勫ソ澶勫嵆瓚呰繃浜?jiǎn)鐜板湪鐨勭嫭绔嬬殑绋嬪簭锛屼篃鑳湗q囦簡(jiǎn)綰補(bǔ)鐨刉eb绔欑偣銆?/font>XML Web鏈嶅姟鎷ユ湁浼犵粺鐨?/font>杞歡鍔熻兘錛屽鍒涘緩鏂囨。銆佽綆楁暟瀛椼佸瓨鍌ㄦ暟鎹瓑銆傝屼笖鍦ㄤ笅綰垮悗涔熻兘鎻愪緵鏈嶅姟錛屾瘮濡傚懠鍙嚭縐熻濺錛岃繖騫朵笉闇瑕丆PU鐨勫弬涓庛?
聽聽
聽聽銆銆浠庝笂闈㈢殑渚嬪瓙鎴戜滑鍙互鐪嬪埌錛?/font>XML Web鏈嶅姟浣跨粓绔敤鎴峰緱鍒頒簡(jiǎn)鏇翠負(fù)涓у寲鐨勩佺患鍚堟х殑浣撻獙錛屽悓鏃朵究鎹蜂篃鏄?/font>.NET緇欐垜浠甫鏉ョ殑涓澶уソ澶勩?
聽聽
聽聽銆銆瀵逛紒涓氱殑鏀瑰彉
聽聽
聽聽銆銆Bob閭d笉璧拌繍鐨勫晢鍔℃梾琛岀粨鏉熶簡(jiǎn)錛屼粬韞掕窔鍦板洖鍒頒簡(jiǎn)瀹?铏界劧閭d釜鏅氬闈炲父鎴愬姛錛屼絾鐜板湪浠栦笉寰椾笉闈㈠鍏釜鏄熸湡鐨勮韓浣撴不鐤?銆傛帴涓嬫潵錛孊ob瑕佹彁浜よ垂鐢ㄦ姤鍛娿備粬鎷垮嚭浜?jiǎn)浠栫殑PDA錛岄獙鏄庤韓浠藉悗錛孭DA鍒楀嚭浜?jiǎn)鍏朵俊鐢ㄥ崱涓婄殑鏀粯绾綍銆備粬鏍囧嚭浜?jiǎn)涓帢q欐鑺濆姞鍝ヤ箣琛屾湁鍏崇殑璐圭敤錛岃嚦浜庨偅浜涙鐥涜嵂鍜屽瘎縐佷漢淇′歡鐨勮垂鐢紝浠栨爣涓轟釜浜哄紑閿銆備俊鐢ㄥ崱鍏徃灝嗕負(fù)鍏剁敓鎴愬繀瑕佺殑璐﹀崟銆?
聽聽
聽聽銆銆鍥犱負(fù)Bob鏍囪浜?jiǎn)涓浜涗釜浜鴻垂鐢紝鎵浠ヤ俊鐢ㄥ崱鍏徃灝嗘牴鎹粬鎸囧畾鐨勬柟娉曚負(fù)Bob鐢熸垚涓寮犱釜浜哄笎鍗曘傚湪榪欎釜渚嬪瓙涓紝Bob浣跨敤鐨勬槸鐩存帴浠庝粬閾惰璐﹀彿涓彁閽辯殑鏂規(guī)硶錛屼絾鍚屾椂浠栦篃瑕佷竴浠借嵂璐瑰紑鏀姤鍛婄殑紜嫹璐濄傛牴鎹粬鐨勯夋嫨錛屼俊鐢ㄥ崱鍏徃浼?xì)Email鍙戠粰浠栦竴涓狿DF鏂囨。錛孊ob鍙渶灝嗗畠鎵撳嵃鍑烘潵鍗沖彲銆?
聽聽
聽聽銆銆瀵逛簬閭d簺涓氬姟涓婄殑寮鏀紝淇$敤鍗″叕鍙鎬細(xì)緇橞ob鐨勫叕鍙稿彂鍑轟竴寮犵數(shù)瀛愬笎鍗曪紝瀹冭閫佸埌鍏徃鐨勪細(xì)璁¢儴闂紝鐢卞叕鍙鎬細(xì)璁hris鏉ュ鐞嗐傜數(shù)瀛愬笎鍗曞埌杈炬椂錛孋hris浼?xì)鏀跺堫C竴灝佽嚜鍔ㄧ敓鎴愮殑Email錛岄殢鍚庝粬鐧誨綍浼?xì)璁【p葷粺鎵撳紑榪欎喚甯愬崟銆備粬浠旂粏媯(gè)鏌ユ瘡涓絎旇垂鐢紝娌¢棶棰樺悗錛屼粬榪涜鏀粯錛岃繖涔熷氨鏄巿鏉冨皢涓絎旈噾浠庡叕鍙哥殑璐︽埛杞Щ鍒頒俊鐢ㄥ崱鍏徃鐨勮處鎴蜂笂銆?
聽聽
聽聽銆銆浠庝紒涓氳搴﹁錛?/font>.NET鑳藉鑷姩鍦板鐞嗗緢澶氫換鍔★紝鑺傜害浜?jiǎn)鍛樺伐鐨勫ぇ閲忔棄櫁淬傚綋鐢?/font>XML灝嗙郴緇熷拰XML Web鏈嶅姟榪炴帴璧鋒潵鍚庯紝鏁版嵁浜ゆ崲鍙樺緱闈炲父鏂逛究錛屾暟鎹鐞嗕篃鍙樺緱杞昏屾槗涓俱傚湪榪欎釜渚嬪瓙涓紝鍛樺伐Bob鍜孋hris鍒嗗埆鍙鍗曞嚮涓涓?鍚屾剰"鍜屽惎鍔ㄤ竴涓簨鍔″鐞嗭紝鏃犻渶鑺卞ぇ閲忕殑鏃墮棿鍘誨~鍐欐姤閿鍗曟垨鏄線浼?xì)璁【p葷粺涓墜宸ュ綍鍏ユ暟鎹紝涓鍒囬兘鍙樺緱闈炲父涔嬬畝鍗曘?
聽聽
聽聽銆銆瀵逛紒涓氬拰浼佷笟緇堢鐢ㄦ埛鏉ヨ錛?/font>.NET棰勭ず榪欎簺浠?/font>XML Web鏈嶅姟琛嶇敓鍑烘潵鐨勫簲鐢ㄧ▼搴忔湁鐫寰堝己鐨勪釜鎬у寲鍜岄珮搴︾殑鏁村悎鎬х殑鐗圭偣錛屽悓鏃跺畠浠傜敤浜庡悇縐嶆櫤鑳借澶囷紝鍏鋒湁鐩稿綋鐨勭伒媧繪с?
聽聽
聽聽銆銆浠涔堜笢瑗挎病鏈夊彉
聽聽
聽聽銆銆灝界Microsoft .NET緇欒綆楀甫鏉ヤ簡(jiǎn)涓浜涚炕澶╄鍦扮殑鍙樺寲錛屼絾榪樻湁寰堝涓滆タ渚濈劧娌℃湁鏀瑰彉.
聽聽
聽聽銆銆鈼忕粓绔敤鎴峰皢渚濈劧浣跨敤鐔熸?zhèn)夌殑鐣岄潰锛尀鍍?/font>.NET浣撻獙涓殑Microsoft Office涓鏍楓傝繖鍙互鍑忓皯鍐嶅煿璁殑寮鏀紝涔熸剰鍛崇潃鐢ㄦ埛鍙互椹笂寮濮嬩嬌鐢?/font>.NET杞歡銆?
聽聽
聽聽銆銆鈼?/font>紜歡涓婅繍琛岀殑榪樻槸璞indows銆乁nix銆乄indows CE鍜孭alm OS涓鏍風(fēng)殑鎿嶄綔緋葷粺銆傚疄闄呬笂錛?/font>.NET澧炲姞浜?/font>杞歡鐨勮繍琛屽満鎵錛屼絾鍚屾椂鍑忓皯浜?jiǎn)寮鍙戠殑璐熸媴銆傜敱浜?/font>XML Web鏈嶅姟鍙嬌鐢?/font>XML涓庤澶囬氫俊錛屾墍浠ヤ換浣曟櫤鑳借澶囬兘鍙互浜敤XML Web鏈嶅姟銆?
聽聽
聽聽銆銆鈼忓紼嬪簭鍛樻潵璇達(dá)紝浠栦滑渚濈劧鍙互浣跨敤浠栦滑鍘熷厛鐔熸?zhèn)夌?/font>緙栫▼璇█銆?/font>.NET騫沖彴鍊熷姪浜?/font>.NET妗嗘灦鐨勫叕鍏辮璦榪愯鏃墮棿搴?CLR)浣垮緱鐢ㄤ笉鍚岃璦寮鍙戠殑XML Web鏈嶅姟涔嬮棿涔熷彲浠ョ浉浜掓搷浣溿傛湁娌℃湁.NET浣撻獙闂涓嶅ぇ錛屼綘渚濇棫鍙互鐢╒isual Basic銆丣ava銆佺敋鑷蟲槸COBOL鍒涘緩XML Web鏈嶅姟銆傝繖縐嶅緙栫▼璇█鐨勪腑绔嬫ф剰鍛崇潃涓嶇敤涓轟簡(jiǎn)榪涘叆.NET涓栫晫鑰屾姏寮冨凡鏈夌殑鎶曡祫銆?
聽聽
聽聽銆銆鈼忓師鍏堢郴緇熸棤闇琚浛鎹€備竴閮ㄥ垎鐨凪icrosoft .NET浜у搧灝辨槸涓轟簡(jiǎn)鑳芥柟渚垮湴灝嗙幇鏈夌殑緋葷粺鏁村悎鍒版柊錛岀殑XML Web鏈嶅姟鍜?/font>.NET浣撻獙涓幓鑰岃璁$殑銆侶ost Integration Server灝辨槸涓緥瀛愶紝瀹冪畝鍖栦簡(jiǎn)瀵逛富鏈虹殑璁塊棶銆傚啀姣斿灝辨槸BizTalk Server,瀹冪鐞嗙殑鍟嗗姟嫻佺▼(business process orchestration)鍖呮嫭浜?jiǎn)瀵圭幇鏈壘p葷粺鍜屾暟鎹牸寮忕殑鏀寔錛屽茍浼?xì)鎵ц涓浜涘繀瑕佺殑杞崲錛屽皢鏁版嵁杞垚XML銆?
聽聽
聽聽銆銆銆鎵浠ヨ繖縐嶄笅涓浠g殑鍒嗗竷寮忚綆楁槸寤虹珛鍦ㄧ洰鍓嶈繖涓浠e熀紜涓婄殑銆侻icrosoft .NET涓嶆槸鎴戜滑鎵鎯寵薄鐨勯偅鏍鳳紝瀵圭幇鍦ㄧ殑搴旂敤杞歡浣滃ぇ瑙勬ā鐨勬浛鎹紝鑰屾槸涓涓嚜鐒剁殑榪涘寲榪囩▼錛屽湪鍘熷厛鐨勬妧鏈宀涗箣闂村緩绔嬩簡(jiǎn)鍗忎綔鍏崇郴錛屽崗鍚屽伐浣滆兘鍔涢愭笎鍔犲己錛屾垜浠篃灝嗕粠涓彈鐩婃棤絀楓?
聽聽
聽聽銆銆鎬葷粨
聽聽
聽聽銆銆Microsoft .NET鏄疢icrosoft鐨?/font>XML Web鏈嶅姟鐨勫鉤鍙般傝繖鏄笅涓浠g殑Internet璁$畻妯″瀷錛屽悇涓?/font>XML Web鏈嶅姟涔嬮棿褰兼鏄澗鑰﹀悎鐨勶紝閫氳繃XML榪涜閫氳錛屽崗鍚屽畬鎴愭煇涓鐗瑰畾鐨勪換鍔°侻icrosoft .NET鎴樼暐鎻愪緵浜?jiǎn)涓涓敤浠ュ緩绔嬫柊.NET浣撻獙鐨?/font>杞歡騫沖彴銆佷竴涓?/font>緙栫▼妯″瀷銆佺敤浠ュ緩绔嬪拰鏁村悎XML Web鏈嶅姟鐨勫伐鍏蜂互鍙?qiáng)涓濂楀彲緙栫▼鐨刉eb鎺ュ彛銆?
聽聽
聽聽銆銆鐜板湪鎴戜滑姝e浜庡悜.NET杞彉鐨勮繃紼嬩腑銆侻icrosoft宸茬粡瀹e竷浜?/font>.NET妗嗘灦鐨勭涓涓儴鍒?-.NET騫沖彴銆乂isual Studio.NET鍜屼竴浜涘潡鏋勫緩鏈嶅姟浠ュ強(qiáng)鏈鍒濈殑.NET浣撻獙銆侻icrosoft鍦ㄤ粖騫村拰鏄庡勾涓皢浼?xì)鎻愪緵鏇村鐨勫伐鍏峰拰鏈嶅姟銆?/font>
]]>
鐢ㄦ硶錛?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;
}
灝嗗瓧絎︿覆s2澶嶅埗鍒?/span>s1鎸囧畾鐨勫湴鍧
void* 聽memcpy (void *s1, const void *s2, size_t len);
灝?/span>s2鐨勫墠len涓瓧絎?/span>(瀛楄妭)澶嶅埗鍒?/span>s1涓寚瀹氱殑鍦板潃, 涓嶅姞'\0'
褰撴簮鍗曞厓鍜岀洰鐨勫崟鍏冪紦鍐插尯浜よ凱鏃朵嬌鐢?/span>
鏍規(guī)嵁紼嬪簭褰撳墠鐨勫尯鍩熼夐」, 灝?/span>s2鐨勫墠len涓瓧絎?/span>(瀛楄妭)澶嶅埗鍒?/span>s1涓寚瀹氱殑鍦板潃, 涓嶅姞'\0'
2 榪炴帴
灝嗗瓧絎︿覆s2榪炴帴鍒?/span>s1灝鵑儴
灝嗗瓧絎︿覆s2鐨勫墠len涓瓧絎﹁繛鎺ュ埌s1灝鵑儴, 涓嶅姞'\0'
3 姣旇緝
姣旇緝瀛楃涓?/span>s1鍜?/span>s2
int 聽memcmp (const void *s1, const void *s2, size_t len);
瀵?/span>s1鍜?/span>s2鐨勫墠len涓瓧絎?/span>(瀛楄妭)浣滄瘮杈?/span>
鏍規(guī)嵁紼嬪簭褰撳墠鐨勫尯鍩熼夐」涓殑LC_COLLATE, 姣旇緝瀛楃涓?/span>s1鍜?/span>s2
4 鏌ユ壘
void* memchr (const void *s, int ch, size_t len);
鍦ㄤ覆s涓煡鎵劇粰瀹氬瓧絎?/span>ch鏈鍚庝竴嬈″嚭鐜扮殑浣嶇疆, r琛ㄧず浠庝覆灝懼紑濮?/span>
鍦ㄤ覆s1涓煡鎵炬寚瀹氬瓧絎︿覆s2絎竴嬈″嚭鐜扮殑浣嶇疆
榪斿洖s1涓涓涓湪s2涓笉瀛樺湪鐨勫瓧絎︾殑绱㈠紩(find_first_not_of)
榪斿洖s1涓涓涓篃鍦?/span>s2涓瓨鍦ㄧ殑瀛楃鐨勭儲(chǔ)寮?/span>(find_first_of)
涓?/span>strcspn綾諱技, 鍖哄埆鏄繑鍥炴寚閽堣屼笉鏄儲(chǔ)寮?/span>
浠庝覆s1涓垎紱誨嚭鐢變覆s2涓寚瀹氱殑鍒嗙晫絎﹀垎闅斿紑鐨勮鍙?/span>(token)
絎竴嬈¤皟鐢ㄦ椂s1涓洪渶鍒嗗壊鐨勫瓧涓?/span>, 姝ゅ悗姣忔璋冪敤閮藉皢s1緗負(fù)NULL,
姣忔璋冪敤strtok榪斿洖涓涓鍙?/span>, 鐩村埌榪斿洖NULL涓烘
5 鍏朵粬
姹傚瓧絎︿覆s鐨勯暱搴?/span>
灝嗕粠s寮濮嬬殑len涓瓧鑺傜疆涓?/span>val
榪斿洖鎸囧悜閿欒淇℃伅瀛楃涓茬殑鎸囬拡
]]>
錛僫 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;
}聽
#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鏄庣殑鍑芥暟榪涜浜?jiǎn)瀹氫箟锛屽叿浣撳唴瀹瑰涓嬪Q?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)聽 //鍒拌揪浜?jiǎn)閾捐〃鐨劸l撳熬
聽聽{
聽聽聽ptr->link = cn;
聽聽}
聽聽else聽 //娌″埌杈劇粨灝?br />聽聽{聽
聽聽聽cn->link = ptr->link;
聽聽聽ptr->link = cn;
聽聽}
聽}
聽return *this
}
聽鍦╩ain.cpp涓繘琛屾祴璇曪紝嫻嬭瘯鐨勫唴瀹瑰緢灝戯紝浣嗘槸鍒氬紑濮嬪氨榪涜涓嶄簡(jiǎn)浜?jiǎn)銆俶ain.cpp鍐呭濡備笅錛?br />
#include "Chain.h"
using namespace std;
int main()
{
聽Chain<int> c;
聽cout<<c.Length();
聽return 0;
}
緙栬瘧鐨勬椂鍊欐病鏈夐棶棰橈紝浣嗘槸鍦ㄨ繛鎺ョ殑鏃跺欏氨鍑虹幇浜?jiǎn)闂锛屾姤閿欏涓嬪Q?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涓竴鍏辯敤鍒頒簡(jiǎn)涓変釜鍑芥暟錛屾瀯閫犲嚱鏁癈hain()錛屼絾鏄瀯閫犲嚱鏁版槸鍦–hain.h涓畾涔夌殑錛屾墍浠ョ紪璇戝櫒鎵懼埌浜?jiǎn)鍏跺畾涔夊Q屼絾鏄彟澶栦袱涓嚱鏁版槸鍦–hain.cpp涓畾涔夌殑錛岃屼笖鐩墠鎶ラ敊娌℃湁鎵懼埌錛屼絾鏄鏋滃湪main.cpp涓紩鍏?include "Chain.cpp"鏃訛紝緙栬瘧鍜岃繛鎺ュ氨娌℃湁闂錛岃繖灝辮瘉瀹炰簡(jiǎn)鍘熸潵鐨勪及璁℃槸娌℃湁閿欑殑銆傛垜瀹炲湪鏄笉鐭ラ亾闂鍑虹幇鍦ㄥ摢閲岋紝鎵浠ュ笇鏈涘摢浣嶉珮鎵嬬湅鍑洪棶棰樻潵鐨勮瘽錛岃鍛婅瘔鎴戯紝澶氳阿浜?jiǎn)锛?/font>
#ifndef _CHAIN
#define _CHAIN
template<class T>
class聽ChainNode
{
聽friend class Chain<T>;
private:
聽T data;
聽ChainNode<T> *link;
};
template<class T>
class Chain{
public:
聽Chain()
聽{
聽聽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; // 鎸囧悜絎竴涓妭鐐圭殑鎸囬拡
};
#endif聽 // _CHAIN
緇撴灉鎶ラ敊錛?br />--------------------Configuration: Chain - Win32 Debug--------------------
Compiling...
Chain.cpp
g:\work plan\c++ code practice\chain\chain.h(17) : error C2059: syntax error : '<'
聽聽聽聽聽聽聽 g:\work plan\c++ code practice\chain\chain.h(21) : see reference to class template instantiation 'ChainNode<T>' being compiled
g:\work plan\c++ code practice\chain\chain.h(17) : error C2238: unexpected token(s) preceding ';'
聽聽聽聽聽聽聽 g:\work plan\c++ code practice\chain\chain.h(21) : see reference to class template instantiation 'ChainNode<T>' being compiled
g:\work plan\c++ code practice\chain\chain.h(40) : error C2989: 'Chain' : template class has already been defined as a non-template class
聽聽聽聽聽聽聽 g:\work plan\c++ code practice\chain\chain.h(17) : see declaration of 'Chain'
g:\work plan\c++ code practice\chain\chain.cpp(6) : error C2059: syntax error : '<'
g:\work plan\c++ code practice\chain\chain.cpp(6) : error C2588: '::~Chain' : illegal global destructor
g:\work plan\c++ code practice\chain\chain.cpp(6) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
Chain.obj - 6 error(s), 0 warning(s)
鎰熻浠庝唬鐮佹潵鐪嬪簲璇ユ槸娌℃湁闂鐨勶紝濡傛灉鍝釜楂樻墜鐪嬪嚭闂鏉ヤ簡(jiǎn)璇蜂竴瀹氬憡璇夋垜鍟婏紝濡傛灉鐭ラ亾緙栬瘧涓嶉氳繃鐨勫師鍥犱篃璇蜂竴瀹氳鍛婅瘔鎴戝晩銆傛病鍔炴硶錛屾渶鍚庨噰鐢ㄨВ鍐崇殑鍔炴硶灝辨槸淇敼ChainNode鐨勫畾涔変簡(jiǎn)錛屽畾涔変負(fù)緇撴瀯浣?)
template<class T>
struct ChainNode
{
聽 T data;
聽 ChainNode<T> *link;
};
鍙嶆緇撴瀯浣撲腑鐨勬暟鎹垚鍛橀兘鏄痯ublic鐨勶紝鑷充簬璁塊棶闄愬埗鐨勫疄鐜板氨渚濋潬榪唬鍣ㄦ潵瀹炵幇浜?jiǎn)锛実++鐨凷TL涓殑鏍?wèi)缁撶偣涓嶄篃鏄l撴瀯浣撳悧錛?)