锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品理论片,久久久久女教师免费一区,老司机午夜免费精品视频http://www.shnenglu.com/Fox/娓告垙浜虹敓 != ( 浜虹敓 == 娓告垙 ) <br /> 绔欑偣榪佺Щ鑷籌細<a >http://www.yulefox.com</a>銆傝璁㈤槄鏈崥鐨勬湅鍙嬪皢RSS淇敼涓?lt;a >http://feeds.feedburner.com/yulefox</a>zh-cnSat, 27 Sep 2025 00:35:27 GMTSat, 27 Sep 2025 00:35:27 GMT60automake浣跨敤灝忚http://www.shnenglu.com/Fox/archive/2010/01/07/105053.htmlFoxFoxWed, 06 Jan 2010 17:32:00 GMThttp://www.shnenglu.com/Fox/archive/2010/01/07/105053.htmlhttp://www.shnenglu.com/Fox/comments/105053.htmlhttp://www.shnenglu.com/Fox/archive/2010/01/07/105053.html#Feedback4http://www.shnenglu.com/Fox/comments/commentRss/105053.htmlhttp://www.shnenglu.com/Fox/services/trackbacks/105053.html鏈枃鍚屾鑷?a mce_ target="_blank">娓告垙浜虹敓

鏈榪戞湁鐐瑰繖錛屾湰鏉ヨ鐢╝utoconf+automake鎶婅嚜宸辯殑浠g爜姊崇悊涓涓嬬殑錛屽洜涓哄伐浣滃仠浜嗚繎涓ゅ懆銆?/p>

鏈兂鐪嬬湅鏈変粈涔堝伐鍏峰彲浠ヨ嚜鍔ㄧ敓鎴怣akefile.am錛岀瓟妗堟槸錛?a mce_ target="_blank">Automake涓嶆敮鎸侀氶厤絎︼紝鑰屼笖榪樺彛鍙e0澹幫紝鎸尟鏈夎瘝銆傛棦鐒惰鐨勮繖涔堣█璇嶅嚳鍑匡紝鎯呮繁鎰忓垏錛屾垜鎯蟲垜涔熸病鏈夊繀瑕佺敤shell鐢熸垚Makefile.am浜嗐?/p>

鐢ㄧ潃鐢ㄧ潃錛屾垜鏈夌偣鎬鐤戜漢鐢熶簡錛氫笉鐭ラ亾浠涔堟椂鍊欓渶瑕佺敤autoconf鍜宎utomake銆傚鏋滄垜鍙槸騫蟲椂鑷繁鍐欎竴浜泃oy codes鐨勮瘽錛屾劅瑙夌敤autoconf鍜宎utomake鏈夌偣澶х偖鎵撹殜瀛愮殑鎰熻錛岃屼笖姣忔鏂板姞浠g爜鎴栬呮槸縐婚櫎浠g爜銆佺敋鑷蟲槸鏇存敼鐩綍錛岄兘瑕侀噸鏂版墽琛? autoconf銆乤utomake錛堜笉鐭ラ亾鎴戣鐨勫涓庝笉瀵癸級銆傚浜庝竴涓ぇ鍨嬮」鐩紝鎵ц涓嬈onfigure鍜宮ake鏄緢鐥涜嫤鐨勪竴浠朵簨錛宮ake鐨勪腑 闂寸洰鏍囨枃浠舵垨鑰呭簱鏂囦歡銆佹墽琛屾枃浠跺掓槸涓嶄竴瀹氶潪寰楀畬鍏╮ebuild錛宑onfigure鐨勯厤緗鏌ュ憿錛熸槸涓嶆槸涔熸湁綾諱技鏈哄埗錛熷弽姝f垜鍦ㄧ敤ogre鎴栬? cegui鐨勬椂鍊欙紝姣忔鎵ц./configure鏄噸鏂伴厤緗簡鐨勩?/p>

瀹為檯鍦ㄥ紑婧愰」鐩噷闈篃涓嶅彲鑳界淮鎶や袱濂梞akefile鍚с?/p>

鐪嬩簡涓涓?a mce_ target="_blank">googletest鐨勯厤緗紝鍊掓槸娓呯埥鐨勫緢錛屾渶澶х殑鐗圭偣鏄彧鏈変竴涓狹akefile.am錛岃繖鏍峰湪涓涓」鐩噷闈㈠彧闇瑕佺淮鎶や竴涓狹akefile.am灝卞浜嗐?/p>

cegui姣旇緝甯歌錛屾瘡涓瓙鐩綍閮戒細緇存姢涓涓狹akefile.am銆?/p>

闇瑕佺壒鍒敞鎰忕殑鏄痮gre浠?a mce_ target="_blank">1.7.0寮濮嬪凡緇忓紑濮嬩嬌鐢?a mce_ target="_blank">cmake浜?#8230;…

璇峰惉棰橈細綆$悊涓皬鍨嬮」鐩紝浣犲懼悜浜庝笅闈㈠摢涓伐鍏鳳紵

o make錛氶捇鏈ㄥ彇鐏紝鐜╃殑灝辨槸涓妧鏈紝緙栬瘧浠g爜錛屽彧鐢ㄨB鐨勶紝涓嶇敤鐗汢鐨勶紝浣犺鏄敤浠涔坈make錛屼綘閮戒笉濂芥剰鎬濊窡鍒漢鎵撴嫑鍛鹼紝榪欎箞緇忓吀鐨勪笢瑗匡紝綺鵑氶渶瑕佸涔咃紵瑕佹垜璇存庝箞鐫涔熷緱涓妸淇╂湀鍚э紝涓妸淇╂湀錛熼偅鏄叆闂紝鑷沖皯鍗婂勾錛屽氨榪欒繕寰楁湁Feldman鐨勬偀鎬э紝涓嶈垗鏄煎錛?/p>

o autoconf+automake錛氭棦鏈夌兢浼楀熀紜錛屽張鏈夋妧鏈惈閲忥紝浣犳槸閭f牱鎷夎槳鐨勭敺浜猴紝涓嶇鍦ㄤ粈涔堝湴鏂癸紝灝卞ソ鍍忔紗榛戜腑鐨勮悿鐏櫕涓鏍鳳紝閭f牱鐨勯矞鏄庯紝閭f牱鐨? 鍑轟紬銆備綘閭e咖閮佺殑鐪肩錛岀█鍢樼殑鑳″柍瀛愶紝紲炰箮鍏舵妧鐨勬寚娉曪紱鏃㈠彲浠ヨ葷瑧鍘熷浜虹殑鐢熶駭鍔涗綆涓嬶紝榪樺彲浠ラ剻瑙嗙幇浠d漢鐨勪笉瀛︽棤鏈?/p>

o cmake錛氬湪MSVCers闈㈠墠鎶笉璧峰ご錛屽湪UNIXers闈㈠墠浼間箮鏇存姮涓嶈搗澶達紱鑰宑make瀵筗INDOWS鍜孶NIX騫沖彴鐨勫畬緹庢敮鎸侊紝瓚充互璁╂墍鏈夌殑 MSVCers鍜孶NIXer鍦ㄤ綘闈㈠墠鎶笉璧峰ご錛屼綘鏄叕楦′腑鐨勬垬鏂楁満銆傛墍浠ヤ綘榪樻槸鍙互瓚鵑珮姘旀槀鐨勪涪涓嬩竴鍙ワ細璧癗B鐨勮礬錛岃SB璇村幓鍚с?/p>




Fox 2010-01-07 01:32 鍙戣〃璇勮
]]>
Autotools鍒濅綋楠?/title><link>http://www.shnenglu.com/Fox/archive/2009/12/23/autotools_first_use.html</link><dc:creator>Fox</dc:creator><author>Fox</author><pubDate>Tue, 22 Dec 2009 18:18:00 GMT</pubDate><guid>http://www.shnenglu.com/Fox/archive/2009/12/23/autotools_first_use.html</guid><wfw:comment>http://www.shnenglu.com/Fox/comments/103743.html</wfw:comment><comments>http://www.shnenglu.com/Fox/archive/2009/12/23/autotools_first_use.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/Fox/comments/commentRss/103743.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Fox/services/trackbacks/103743.html</trackback:ping><description><![CDATA[     鎽樿: 浠庢帴瑙﹀拰浣跨敤make浠ユ潵錛屽墠鍓嶅悗鍚庡啓浜嗕笉灝慚akefile錛堟坊娣誨噺鍑忋佷慨淇ˉ琛ワ紝绱涓婂崈琛屾槸鏈夌殑錛夛紝浠婂ぉ鍦ㄩ噸鏂版暣鐞嗕唬鐮佺殑緇勭粐緇撴瀯涔嬪悗錛岀獊鐒跺氨鎯籌細鎴戜負浠涔堜笉浣跨敤Autotools鍛紵 <br> <br>鍦ㄥ紑濮嬩綋楠屽姛鑳藉己澶х殑Autotools涔嬪墠錛岀畝鍗曪紙璇︾粏錛夊洖蹇嗘葷粨涓涓嬫垜浣跨敤make鐨勭粡鍘嗗拰鎬濊冪殑榪囩▼錛屽弽鐪佷竴涓嬬湅鐪嬭嚜宸卞湪鎺ヨЕ榪欎簺鏂伴矞浜嬬墿鐨勬椂鍊欏埌搴曡蛋浜嗗灝戝集璺?nbsp; <a href='http://www.shnenglu.com/Fox/archive/2009/12/23/autotools_first_use.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/Fox/aggbug/103743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Fox/" target="_blank">Fox</a> 2009-12-23 02:18 <a href="http://www.shnenglu.com/Fox/archive/2009/12/23/autotools_first_use.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>UUID綆楁硶鍒嗘瀽http://www.shnenglu.com/Fox/archive/2009/12/06/uuid_algorithm_analysis.htmlFoxFoxSun, 06 Dec 2009 07:07:00 GMThttp://www.shnenglu.com/Fox/archive/2009/12/06/uuid_algorithm_analysis.htmlhttp://www.shnenglu.com/Fox/comments/102647.htmlhttp://www.shnenglu.com/Fox/archive/2009/12/06/uuid_algorithm_analysis.html#Feedback2http://www.shnenglu.com/Fox/comments/commentRss/102647.htmlhttp://www.shnenglu.com/Fox/services/trackbacks/102647.html娓告垙浜虹敓

Writen by Fox(yulefox.at.gmail.com)

鍦ㄥ叿浣撹璁轟箣鍓嶏紝鏈枃鍏堝帢娓匲UID錛圲niversally Unique IDentifier錛変笌GUID錛圙lobally Unique IDentifier錛夌殑鍏崇郴銆?/p>

鍦ㄥ垎甯冨紡銆佺綉緇溿佸崟鏈虹幆澧冧笅錛屼負浜嗚兘澶熶嬌鐢ㄥ叿鏈夋煇縐嶅艦寮忕殑ID鍞竴鏍囪瘑緋葷粺涓殑浠諱竴鍏冪礌錛岃繖鏍風殑ID鍙互涓嶄緷璧栦腑蹇冭璇佽嚜鍔ㄧ敓鎴愶紝浜庢槸UUID灝辮癁鐢熶簡銆?/p>

UUID鏍囧噯鐨勫巻鍙叉部闈╁拰鍏蜂綋瀹炵幇鍦?a title="RFC4122" target="_blank">RFC 4122銆?a title="ITU-T rec. x.667" target="_blank">ITU-T Rec. X.667鍜?a title="ISO/IEC 9834-8:2008" target="_blank">ISO/IEC 9834-8:2008涓潎鏈夎緇嗘弿榪般侷TU鍜孖SO閲囩敤鐨勬爣鍑嗗拰RFC 4122閮芥槸鍦║UID鐨勬棭鏈熺増鏈熀紜涓婂畬鎴愶紝鍚勭増鏈箣闂村叿鏈変竴鑷存у拰鍏煎鎬с?/p>

鍥犱負涓嶈兘淇濊瘉UUID鐨勫敮涓鎬э紝ITU鍜孖SO閽堝UUID鐨勪嬌鐢ㄩ兘鏈?a id="eac3" title="鍏嶈矗澹版槑" target="_blank">鍏嶈矗澹版槑銆?/p>

GUID涓鑸槸鎸嘙icrosoft瀵逛簬UUID鏍囧噯鐨勫疄鐜幫紝UUID鐨勫疄鐜板垯澶氳浜庡叾浠栫郴緇燂紙*NIX銆丮AC OS絳夛級涓傚湪浜嗚В浜嗚繖涓鍖哄埆鍚庯紝鏈枃灝嗙粺涓浣跨敤UUID鏉ユ寚浠e搴旂殑鍘熺悊銆佺畻娉曞強瀹炵幇銆?/p>

鏂囦腑鍏充簬UUID鐨勮璁哄叏閮ㄥ熀浜嶳FC 4122鍜孖TU-T Rec. X.667浠ュ強OSF銆両ETF銆両TU錛峊銆両SO銆丗IPS鐨勫悇縐嶆爣鍑嗘枃妗c傝孶UID鐨勭粏鑺傦紙濡傜粨鏋勩佽〃紺恒佺畻娉曘佸疄鐜扮瓑錛夊潎浠TU-T Rec. X667涓哄敮涓钃濇湰錛屾枃涓?#8220;鏈爣鍑?#8221;鍗蟲寚浠h钃濇湰銆?/p>

o 浠嬬粛

UUID鏄暱搴︿負16-byte錛?28-bit錛夌殑ID錛屼竴鑸互褰㈠f81d4fae-7dec-11d0-a765-00a0c91e6bf6鐨勫瓧絎︿覆浣滀負URN錛圲niform Resource Name錛岀粺涓璧勬簮鍚嶇О錛夈?/p>

o 鍔ㄦ満

鏃犻』涓績璁よ瘉錛岃嚜鍔ㄧ敓鎴愶紝鏀寔涓鍙版満鍣ㄦ瘡縐掔敓鎴?0M嬈★紙100綰崇綰э紝鍏墮殣鍚師鍥犳槸鎸囪兘澶熷尯鍒嗙殑鏈灝忔椂闂村崟浣嶄負100ns錛屽皢鏃墮棿浣滀負鍥犲瓙鏃訛紝榪炵畫鐢熸垚涓や釜UUID鐨勬椂闂磋嚦灝戣闂撮殧100ns錛夈傛柟渚垮瓨鍙栥佸垎閰嶃佹帓搴忋佹煡鎵俱?/p>

o 緇撴瀯


   76543210765432107654321076543210
   + – - – = – - – = – - – = – - – +
15 |            TimeLow            | 12
11 |    TimeMid    |   Version..   |  8
7  |Vari.. |Clock..|     Node      |  4
3  |             Node              |  0
   + – - – = – - – = – - – = – - – +
15 – 12: TimeLow 鏃墮棿鍊肩殑浣庝綅
11 – 10: TimeMid 鏃墮棿鍊肩殑涓綅
09 – 08: VersionAndTimeHigh 4浣嶇増鏈彿鍜屾椂闂村肩殑楂樹綅
07: VariantAndClockSeqHigh 2浣嶅彉浣擄紙ITU-T錛夊拰鏃墮挓搴忓垪楂樹綅
06: ClockSeqLow 鏃墮挓搴忓垪浣庝綅
05 – 00: Node 緇撶偣
hexOctet = hexDigit hexDigit
hexDigit =
“0″ / “1″ / “2″ / “3″ / “4″ / “5″ / “6″ / “7″ / “8″ / “9″ /
“a” / “b” / “c” / “d” / “e” / “f” /
“A” / “B” / “C” / “D” / “E” / “F”
UUID =
TimeLow
“-” TimeMid
“-” VersionAndTimeHigh
“-” VariantAndClockSeqHigh ClockSeqLow
“-” Node

UUID鐢變笂榪?涓煙鏋勬垚錛屾瘡涓煙緙栫爜涓鴻嫢騫插瓧鑺傦紝騫朵互16榪涘埗鏁拌〃紺鴻繖128浣嶇殑UUID錛岀浉閭誨煙浠ュ噺鍙?#8220;-”鍒嗛殧 錛圴ariantAndClockSeqHigh鍜孋lockSeqLow瀵瑰簲鐨勪袱涓瓧鑺備緥澶栵紝濡備笂鎵紺猴級銆傝緇撴瀯涓寘鍚増鏈紙Version錛夈佸彉浣? 錛圴ariant錛夈佹椂闂達紙Time錛夈佹椂閽熷簭鍒楋紙Clock Sequence錛夈佽妭鐐癸紙Note錛変俊鎭紙浠ユ棤絎﹀彿鏁村瀷鍊艱〃紺猴級銆?/p>

o 鍚堟硶鎬?/strong>

闄ゅ垽鏂璿ariant浣嶈緗槸鍚︽紜佸熀浜庢椂闂寸敓鎴愮殑UUID鏃墮棿鍊兼槸鍚︿負鏈粡鍒嗛厤鐨勫皢鏉ユ椂闂村錛屽疄闄呭簲鐢ㄤ腑娌℃湁鍏朵粬鏈哄埗鍙互鍒ゅ畾UUID鏄惁鍚堟硶銆?/p>

o 鍙樹綋

Variant浣嶆槸UUID絎?瀛楄妭錛圴ariantAndClockSeqHigh錛夌殑鏈楂?浣嶏紝

7 6 5  Description
0 – –  NCS鍚戝悗鍏煎
1 0 –  鏈爣鍑?br> 1 1 0  Microsoft鍚戝悗鍏煎
1 1 1  ITU-T Rec. X.667淇濈暀

o 鐗堟湰

UUID鐨勭敓鎴愭湁鏃墮棿銆佸悕縐般侀殢鏈烘暟涓夌絳栫暐錛屼互絎?瀛楄妭錛圴ersionAndTimeHigh錛夌殑鏈楂?浣嶈〃紺恒?/p>

鐩墠UUID瀹氫箟鏈?涓増鏈細

7 6 5 4  Ver  Description
0 0 0 1  1    鍩轟簬鏃墮棿鐨勭増鏈紙鏈爣鍑嗭級
0 0 0 0  2    浣跨敤宓屽叆寮廝OSIX錛圖CE瀹夊叏鐗堟湰錛?br> 0 0 1 1  3    浣跨敤MD5鍝堝笇鐨勫熀浜庡悕縐扮殑鐗堟湰錛堟湰鏍囧噯錛?br> 0 1 0 0  4    鍩轟簬闅忔満鏁扮殑鐗堟湰錛堟湰鏍囧噯錛?br> 0 1 0 1  5    浣跨敤SHA-1鐨勫熀浜庡悕縐扮殑鐗堟湰錛堟湰鏍囧噯錛?/p>

o 鏃墮棿

鏃墮棿鏄竴涓?0浣嶇殑鏁村瀷鍊鹼紙闄?浣嶇増鏈彿澶栫殑鍓?瀛楄妭錛夛紝瀵瑰簲UTC錛堟牸鏋楀凹娌繪椂闂?582騫?0鏈?5鏃ュ崍澶滃錛夌殑100ns鏃墮棿闂撮殧璁℃暟銆?/p>

瀵逛簬ver 4鍜?錛岃鍊煎垎鍒搴斾竴涓殢鏈烘暟鍜屼竴涓叏灞鍞竴鐨勫悕縐般?/p>

o 鏃墮挓搴忓垪

瀵瑰熀浜庢椂闂寸殑UUID鐗堟湰錛屾椂闂村簭鍒楃敤浜庨伩鍏嶅洜鏃墮棿鍚戝悗璁劇疆鎴栬妭鐐瑰兼敼鍙樺彲鑳介犳垚鐨刄UID閲嶅錛屽鍩轟簬鍚嶇О鎴栭殢鏈烘暟鐨勭増鏈悓鏍鋒湁鐢細鐩殑閮芥槸涓轟簡闃叉UUID閲嶅銆?/p>

濡傛灉鍓嶄竴鏃墮挓搴忓垪宸茬煡錛岄氳繃鑷瀹炵幇鏃墮挓搴忓垪鍊肩殑鏀瑰彉錛涘惁鍒欙紝閫氳繃瀵嗙爜瀛︼紙浼級闅忔満鏁拌緗柊鐨勬椂閽熷簭鍒楀箋?/p>

o 鑺傜偣

瀵瑰熀浜庢椂闂寸殑UUID鐗堟湰錛岃妭鐐圭敱48浣嶇殑鍗曟挱MAC鍦板潃鏋勬垚銆傚浜庢病鏈塎AC鍦板潃鐨勭郴緇燂紝鑺傜偣鍊間負涓涓瘑鐮佸錛堜吉錛夐殢鏈烘暟錛堜負闃叉涓嶮AC鍦板潃鍙戠敓紕版挒錛岄渶璁劇疆澶氭挱浣嶏級銆?/p>


o 鍩轟簬鏃墮棿鐨刄UID鐢熸垚綆楁硶

o 紜畾UTC鏃墮棿錛?0浣?Time錛夊拰鏃墮棿搴忓垪鍊鹼紙14浣?ClockSequence錛夛紱

o 璁劇疆TimeLow錛堝搴擳ime鐨?1-0浣嶏級錛?/p>

o 璁劇疆TimeMid錛堝搴擳ime鐨?7-32浣嶏級錛?/p>

o 璁劇疆VersionAndTimeHigh錛?浣嶇増鏈彿鍙奣ime鐨?9-48浣嶏級錛?/p>

o 璁劇疆VariantAndClockSeqHigh錛堝彉浣撲綅鍙婂搴擟lockSequence鐨?3-8浣嶏級錛?/p>

o 璁劇疆ClockSeqLow錛堝搴擟lockSequence鐨?-0浣嶏級錛?/p>

o 璁劇疆Node錛堝搴?8浣峂AC鍦板潃錛夈?/p>

o 鍩轟簬鍚嶇О鐨刄UID鐢熸垚綆楁硶

o 閽堝鐩稿簲鐨勫懡鍚嶇┖闂達紙濡侱NS銆乁RL銆丱ID絳夛級鍒嗛厤涓涓猆UID浣滀負鎵鏈塙UID鐨勫懡鍚嶇┖闂存爣璇嗭紱

o 灝嗗悕縐拌漿鎹負瀛楄妭鏁板垪錛?/p>

o 浣跨敤MD5鎴朣HA-1綆楁硶瀵逛笌鍚嶇О鍏寵仈鐨勫懡鍚嶇┖闂存爣璇嗚繘琛岃綆楋紝浜х敓16瀛楄妭鍝堝笇緇撴灉錛?/p>

o 璁劇疆TimeLow錛堝搴斿搱甯屽肩殑3-0瀛楄妭錛夛紱

o 璁劇疆TimeMid錛堝搴斿搱甯屽肩殑5-4瀛楄妭錛夛紱

o 璁劇疆VersionAndTimeHigh錛堝搴斿搱甯屽肩殑7-6瀛楄妭錛夛紝浠ョ浉搴旂増鏈彿閲嶅啓瀵瑰簲浣嶏紙絎?瀛楄妭鐨勯珮4浣嶏級錛?/p>

o 璁劇疆VariantAndClockSeqHigh錛堝搴斿搱甯屽肩殑絎?瀛楄妭錛夛紝閲嶅啓鍙樹綋瀵瑰簲浣嶏紙絎?瀛楄妭鐨勯珮2浣嶏紝鏈爣鍑嗗搴斿間負10錛夛紱

o 璁劇疆ClockSeqLow錛堝搴斿搱甯屽肩殑絎?瀛楄妭錛夛紱

o 璁劇疆Node錛堝搴斿搱甯屽肩殑15-10瀛楄妭錛夈?/p>

鐢? 浜嶮D5紕版挒闂錛孧D5鍙敤浜庡悜鍚庡吋瀹圭殑UUID鐢熸垚錛屼笉鍐嶈鎺ㄨ崘浣跨敤銆傜敱浜嶴HA-1鍝堝笇緇撴灉涓?60浣嶏紙20瀛楄妭錛夛紝鏈畻娉曚腑錛岄渶瑕佸皢FIPS PUB 180-2涓殑SHA-1綆楁硶鐨勫搱甯屽煎瓧鑺傞『搴忓弽杞紙瀛楄妭鍐呴『搴忎笉鍙橈級錛孶UID浣跨敤鍏?5-0瀛楄妭錛?9-16瀛楄妭琚涪寮冦?/p>

o 鍩轟簬闅忔満鏁扮殑UUID鐢熸垚綆楁硶

o 璁劇疆VariantAndClockSeqHigh鐨勫彉浣撲綅鍊間負10錛?/p>

o 璁劇疆VersionAndTimeHigh鐨?浣嶇増鏈彿錛?/p>

o 璁劇疆鍓╀綑浣嶄負闅忔満鍊箋?/p>

鏈枃涓璁虹殑瀵嗙爜瀛﹂殢鏈烘暟錛屼富瑕佹牴鎹郴緇熷彲浠ユ彁渚涚殑淇℃伅錛堝唴瀛樸佺‖鐩樸佸彞鏌勩佺▼搴忚繍琛岀殑綰跨▼銆佽繘紼嬨佸彞鏌勩佸爢鏍堢瓑錛夛紝鍒╃敤SHA-1絳夊搱甯岀畻娉曞緱鍒般?/p>

鍏朵粬鍏充簬瀵嗙爜瀛﹂殢鏈烘暟鐨勬弿榪幫紝鎴戞浘鍦?a id="dtto" title="鍏鋒湁瀵嗙爜瀛︽剰涔夌殑PRNG錛圕SPRNG錛? target="_blank">榪欑瘒鏂囩珷涓畝鍗曟彁鍒般?/p>


鍏蜂綋綆楁硶瀹炵幇鍙互鍙傝冩枃妗e拰寮婧愪唬鐮併?


Fox 2009-12-06 15:07 鍙戣〃璇勮
]]>
ACE vs Boost: Singleton鐨勫疄鐜?/title><link>http://www.shnenglu.com/Fox/archive/2009/09/22/96898.html</link><dc:creator>Fox</dc:creator><author>Fox</author><pubDate>Mon, 21 Sep 2009 16:38:00 GMT</pubDate><guid>http://www.shnenglu.com/Fox/archive/2009/09/22/96898.html</guid><wfw:comment>http://www.shnenglu.com/Fox/comments/96898.html</wfw:comment><comments>http://www.shnenglu.com/Fox/archive/2009/09/22/96898.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.shnenglu.com/Fox/comments/commentRss/96898.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Fox/services/trackbacks/96898.html</trackback:ping><description><![CDATA[<p>鏈枃鍚屾鑷?a target="_blank">娓告垙浜虹敓</a> <p>浠ュ墠鏇劇粡璁ㄨ榪?a target="_blank">Singleton鐨勫疄鐜?/a>錛岃繖嬈″湪瀵圭収ACE鍜孊oost浠g爜鐨勬椂鍊欙紝鍙堥噸鏂板瑙嗕簡涓涓嬩簩鑰呭Singleton涓嶅悓鐨勫疄鐜般傚叾闂寸殑宸埆涔熶綋鐜頒簡涓嶅悓鐨勭紪紼嬪摬瀛︼細ACE鐨勫疄鐜版洿鍔犲亸閲嶅綰跨▼涓殑瀹夊叏鍜屾晥鐜囬棶棰橈紱Boost鐨勫疄鐜板垯鍋忛噸浜庝嬌鐢ㄨ璦鑷韓鐨勭壒鎬ф弧瓚砈ingleton妯″紡鐨勫熀鏈渶姹傘? <p><strong>o ACE鐨勫疄鐜?/strong> <p>Douglas C. Schmidt鍦?a target="_blank">Double-Checked Locking: An Optimization Pattern for Efficiently Initializing and Accessing Thread-safe Objects</a>涓鏂囦腑瀵筪ouble-check lock錛堜竴鑸瘧涓哄弻媯閿侊級榪涜浜嗚緇嗙殑闃愯堪銆? <p>ACE鐨凷ingleton浣跨敤Adapter妯″紡瀹炵幇瀵瑰叾浠栫被鐨勯傞厤錛屼嬌涔嬪叿鏈夊叏灞鍞竴鐨勫疄渚嬨傜敱浜嶤++鏍囧噯騫墮潪鏄庣‘鎸囧畾鍏ㄥ眬闈欐佸璞$殑鍒濆鍖栭『搴忥紝ACE浣跨敤double-check lock淇濊瘉綰跨▼瀹夊叏錛屽茍浣夸箣涓嶅彈鍏ㄥ眬闈欐佸璞″垵濮嬪寲欏哄簭鐨勫獎鍝嶏紝鍚屾椂涔熼伩鍏嶄簡鍏ㄥ眬闈欐佸疄鐜版柟寮忕殑鍒濆鍖栧悗涓嶄嬌鐢ㄧ殑寮閿銆? <p>濡傛灉浣犺兘澶熷噯紜殑鍖哄垎浠ヤ笅涓夌瀹炵幇鐨勫紛绔拰闅愭偅錛屽double-check lock涔熷氨鏈変簡瓚沖鐨勪簡瑙c? <blockquote><code> <p>// -------------------------------------------<br>class Singleton<br>{<br>public:<br>    static Singleton *instance (void)<br>    {<br>        // Constructor of guard acquires<br>        // lock_ automatically.<br>        Guard<Mutex> guard (lock_);<br>        // Only one thread in the<br>        // critical section at a time.<br>        if (instance_ == 0)<br>            instance_ = new Singleton;<br>        return instance_;<br>        // Destructor of guard releases<br>        // lock_ automatically.<br>    }<br>private:<br>    static Mutex lock_;<br>    static Singleton *instance_;<br>}; <p>// ---------------------------------------------<br>static Singleton *instance (void)<br>{<br>    if (instance_ == 0) {<br>        Guard<Mutex> guard (lock_);<br>        // Only come here if instance_<br>        // hasn鈥檛 been initialized yet.<br>        instance_ = new Singleton;<br>    }<br>    return instance_;<br>} <p>// ---------------------------------------------<br>class Singleton<br>{<br>public:<br>    static Singleton *instance (void)<br>    {<br>        // First check<br>        if (instance_ == 0)<br>        {<br>            // Ensure serialization (guard<br>            // constructor acquires lock_).<br>            Guard<Mutex> guard (lock_);<br>            // Double check.<br>            if (instance_ == 0)<br>                instance_ = new Singleton;<br>        }<br>        return instance_;<br>        // guard destructor releases lock_.<br>    }<br>private:<br>    static Mutex lock_;<br>    static Singleton *instance_;<br>};</p></code></blockquote> <p>鏇村璇︽儏錛岃Schmidt鑰佸笀鐨勫師鏂囧拰ACE_Singleton瀹炵幇銆? <p><strong>o Boost鐨勫疄鐜?/strong> <p>Boost鐨凷ingleton涔熸槸綰跨▼瀹夊叏鐨勶紝鑰屼笖娌℃湁浣跨敤閿佹満鍒躲傚綋鐒訛紝Boost鐨凷ingleton鏈変互涓嬮檺鍒訛紙閬典粠榪欎簺闄愬埗錛屽彲浠ユ彁楂樻晥鐜囷級錛? <p>o The classes below support usage of singletons, including use in program startup/shutdown code, AS LONG AS there is only one thread running before main() begins, and only one thread running after main() exits. <p>o This class is also limited in that it can only provide singleton usage for classes with default constructors. <blockquote><code> <p>// T must be: no-throw default constructible and no-throw destructible<br>template <typename T><br>struct singleton_default<br>{<br>private:<br>    struct object_creator<br>    {<br>        // This constructor does nothing more than ensure that instance()<br>        //  is called before main() begins, thus creating the static<br>        //  T object before multithreading race issues can come up.<br>        object_creator() { singleton_default<T>::instance(); }<br>        inline void do_nothing() const { }<br>    };<br>    static object_creator create_object; <p>    singleton_default(); <p>public:<br>    typedef T object_type; <p>    // If, at any point (in user code), singleton_default<T>::instance()<br>    //  is called, then the following function is instantiated.<br>    static object_type & instance()<br>    {<br>        // This is the object that we return a reference to.<br>        // It is guaranteed to be created before main() begins because of<br>        //  the next line.<br>      static object_type obj; <p>      // The following line does nothing else than force the instantiation<br>      //  of singleton_default<T>::create_object, whose constructor is<br>      //  called before main() begins.<br>      create_object.do_nothing(); <p>      return obj;<br>    }<br>};<br>template <typename T><br>typename singleton_default<T>::object_creator<br>singleton_default<T>::create_object;</p></code></blockquote> <p>瀵逛簬澶氭暟Singleton浣跨敤錛孊oost鎻愪緵鐨勭増鏈畬鍏ㄨ兘澶熸弧瓚抽渶姹傘備負浜嗘晥鐜囷紝鎴戜滑鏈夊繀瑕佸鍏朵嬌鐢ㄤ綔鍑轟竴瀹氱殑闄愬埗銆?/p> <p>鑰屽湪澶氱嚎紼嬬紪紼嬩腑錛屽垯鏈夊繀瑕佷嬌鐢╠ouble-check lock闄嶄綆棰戠箒鍔犻攣甯︽潵鐨勫紑閿銆?/p> <p>-------------------------------------------------------------------------------</p> <p>PS: 嬈h祻Soft鐨勪竴鍙ヨ瘽錛?strong>緇忓緱璧瘋鎯戯紝鑰愬緱浣忓瘋瀵?/strong>銆?/p><img src ="http://www.shnenglu.com/Fox/aggbug/96898.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Fox/" target="_blank">Fox</a> 2009-09-22 00:38 <a href="http://www.shnenglu.com/Fox/archive/2009/09/22/96898.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>IOCP浣跨敤鏃跺父瑙佺殑鍑犱釜閿欒http://www.shnenglu.com/Fox/archive/2009/09/12/95975.htmlFoxFoxFri, 11 Sep 2009 16:20:00 GMThttp://www.shnenglu.com/Fox/archive/2009/09/12/95975.htmlhttp://www.shnenglu.com/Fox/comments/95975.htmlhttp://www.shnenglu.com/Fox/archive/2009/09/12/95975.html#Feedback9http://www.shnenglu.com/Fox/comments/commentRss/95975.htmlhttp://www.shnenglu.com/Fox/services/trackbacks/95975.html鏈枃鍚屾鑷?a target="_blank">娓告垙浜虹敓

鍦ㄤ嬌鐢↖OCP鏃訛紝鏈閲嶈鐨勫嚑涓狝PI灝辨槸GetQueueCompeltionStatus銆乄SARecv銆乄SASend錛屾暟鎹殑I/O鍙婂叾瀹屾垚鐘舵侀氳繃榪欏嚑涓帴鍙h幏鍙栧茍榪涜鍚庣畫澶勭悊銆?/p>

GetQueueCompeltionStatus attempts to dequeue an I/O completion packet from the specified I/O completion port. If there is no completion packet queued, the function waits for a pending I/O operation associated with the completion port to complete.

BOOL WINAPI GetQueuedCompletionStatus(
  __in   HANDLE CompletionPort,
  __out  LPDWORD lpNumberOfBytes,
  __out  PULONG_PTR lpCompletionKey,
  __out  LPOVERLAPPED *lpOverlapped,
  __in   DWORD dwMilliseconds
);

If the function dequeues a completion packet for a successful I/O operation from the completion port, the return value is nonzero. The function stores information in the variables pointed to by the lpNumberOfBytes, lpCompletionKey, and lpOverlapped parameters.

闄や簡鍏沖績榪欎釜API鐨刬n & out錛堣繖鏄疢SDN寮澶寸殑鍑犺灝卞彲浠ュ憡璇夋垜浠殑錛変箣澶栵紝鎴戜滑鏇村姞鍏沖績涓嶅悓鐨剅eturn & out鎰忓懗鐫浠涔堬紝鍥犱負鐢變簬鍚勭宸茬煡鎴栨湭鐭ョ殑鍘熷洜錛屾垜浠殑紼嬪簭騫朵笉鎬繪槸鏈夋紜殑return & out銆?/p>

If *lpOverlapped is NULL and the function does not dequeue a completion packet from the completion port, the return value is zero. The function does not store information in the variables pointed to by the lpNumberOfBytes and lpCompletionKey parameters. To get extended error information, call GetLastError. If the function did not dequeue a completion packet because the wait timed out, GetLastError returns WAIT_TIMEOUT.

鍋囪鎴戜滑鎸囧畾dwMilliseconds涓篒NFINITE銆?/p>

榪欓噷甯歌鐨勫嚑涓敊璇湁錛?/p>

WSA_OPERATION_ABORTED (995): Overlapped operation aborted.

鐢變簬綰跨▼閫鍑烘垨搴旂敤紼嬪簭璇鋒眰錛屽凡鏀懼純I/O 鎿嶄綔銆?/p>

MSDN: An overlapped operation was canceled due to the closure of the socket, or the execution of the SIO_FLUSH command in WSAIoctl. Note that this error is returned by the operating system, so the error number may change in future releases of Windows.

鎴愬洜鍒嗘瀽錛氳繖涓敊璇竴鑸槸鐢變簬peer socket琚?strong>closesocket鎴栬?strong>WSACleanup鍏抽棴鍚庯紝閽堝榪欎簺socket鐨刾ending overlapped I/O operation琚腑姝€?/p>

瑙e喅鏂規錛氶拡瀵箂ocket錛屼竴鑸簲璇ュ厛璋冪敤shutdown紱佹I/O鎿嶄綔鍚庡啀璋冪敤closesocket鍏抽棴銆?/p>

涓ラ噸紼嬪害錛?strong>杞誨井鏄撳鐞?/strong>銆?/p>

WSAENOTSOCK (10038): Socket operation on nonsocket.

MSDN: An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.

鎴愬洜鍒嗘瀽錛氬湪涓涓潪濂楁帴瀛椾笂灝濊瘯浜嗕竴涓搷浣溿?/p>

浣跨敤closesocket鍏抽棴socket涔嬪悗錛岄拡瀵硅invalid socket鐨勪換浣曟搷浣滈兘浼氳幏寰楄閿欒銆?/p>

瑙e喅鏂規錛氬鏋滄槸澶氱嚎紼嬪瓨鍦ㄥ鍚屼竴socket鐨勬搷浣滐紝瑕佷繚璇佸socket鐨処/O鎿嶄綔閫昏緫涓婄殑欏哄簭錛屽仛濂絪ocket鐨刧raceful disconnect銆?/p>

涓ラ噸紼嬪害錛?strong>杞誨井鏄撳鐞?/strong>銆?/p>

WSAECONNRESET (10054): Connection reset by peer.

榪滅▼涓繪満寮鴻揩鍏抽棴浜嗕竴涓幇鏈夌殑榪炴帴銆?/p>

MSDN: An existing connection was forcibly closed by the remote host. This normally results if the peer application on the remote host is suddenly stopped, the host is rebooted, the host or remote network interface is disabled, or the remote host uses a hard close (see setsockopt for more information on the SO_LINGER option on the remote socket). This error may also result if a connection was broken due to keep-alive activity detecting a failure while one or more operations are in progress. Operations that were in progress fail with WSAENETRESET. Subsequent operations fail with WSAECONNRESET.

鎴愬洜鍒嗘瀽錛氬湪浣跨敤WSAAccpet銆乄SARecv銆乄SASend絳夋帴鍙f椂錛屽鏋減eer application紿佺劧涓錛堝師鍥犲涓婃墍榪幫級錛屽線鍏跺搴旂殑socket涓婃姇閫掔殑operations灝嗕細澶辮觸銆?/p>

瑙e喅鏂規錛氬鏋滄槸瀵規柟涓繪満鎴栫▼搴忔剰澶栦腑姝紝閭e氨鍙湁鍚勫畨澶╁懡浜嗐備絾濡傛灉榪欑▼搴忔槸浣犲啓鐨勶紝鑰屼綘鍙槸hard close錛岄偅灝辯敱涓嶅緱鍒漢浜嗐傝嚦灝戯紝浣犺鐭ラ亾榪欐牱鐨勯敊璇凡緇忓嚭鐜頒簡錛屽氨涓嶈鍐嶈垂鍔茬殑緇х畫鎶曢掓垨絳夊緟浜嗐?/p>

涓ラ噸紼嬪害錛?strong>杞誨井鏄撳鐞?/strong>銆?/p>

WSAECONNREFUSED (10061): Connection refused.

鐢變簬鐩爣鏈哄櫒縐瀬鎷掔粷錛屾棤娉曡繛鎺ャ?/p>

MSDN: No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host鈥攖hat is, one with no server application running.

鎴愬洜鍒嗘瀽錛氬湪浣跨敤connect鎴朩SAConnect鏃訛紝鏈嶅姟鍣ㄦ病鏈夎繍琛屾垨鑰呮湇鍔″櫒鐨勭洃鍚槦鍒楀凡婊★紱鍦ㄤ嬌鐢╓SAAccept鏃訛紝瀹㈡埛绔殑榪炴帴璇鋒眰琚玞ondition function鎷掔粷銆?/p>

瑙e喅鏂規錛欳all connect or WSAConnect again for the same socket. 絳夊緟鏈嶅姟鍣ㄥ紑鍚佺洃鍚┖闂叉垨鏌ョ湅琚嫆緇濈殑鍘熷洜銆?strong>鏄笉鏄暱鐨勪笐鎴栬呴挶娌$粰澶燂紝瑕佷笉灝辨槸鏈嶅姟鍣ㄦ嫆緇濇帴鍙楀ぉ浠瘋柂閰嚜涓誨垱涓氬幓浜嗭紵

涓ラ噸紼嬪害錛?strong>杞誨井鏄撳鐞?/strong>銆?/p>

WSAENOBUFS (10055): No buffer space available.

鐢變簬緋葷粺緙撳啿鍖虹┖闂翠笉瓚蟲垨鍒楅槦宸叉弧錛屼笉鑳芥墽琛屽鎺ュ瓧涓婄殑鎿嶄綔銆?/p>

MSDN: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.

鎴愬洜鍒嗘瀽錛氳繖涓敊璇槸鎴戞煡鐪嬮敊璇棩蹇楀悗錛屾渶鍦ㄦ剰鐨勪竴涓敊璇傚洜涓烘湇鍔″櫒瀵逛簬娑堟伅鏀跺彂鏈夋槑紜檺鍒訛紝濡傛灉緙撳啿鍖轟笉瓚沖簲璇ユ棭灝卞鐞嗕簡錛屼笉鍙兘寰呭埌send/recv澶辮觸鍟娿傝屼笖榪欎釜閿欒鍦ㄤ箣鍓嶇殑鐗堟湰涓嚑涔庢病鏈夊嚭鐜拌繃銆傝繖涔熸槸榪欑瘒鏂囩珷鐨勪富瑕佸唴瀹廣傚儚connect鍜宎ccept鍥犱負緙撳啿鍖虹┖闂翠笉瓚抽兘鍙互鐞嗚В錛岃屼笖鍗遍櫓涓嶉珮錛屼絾濡傛灉send/recv閫犳垚鎷ュ牭騫舵伓鎬у驚鐜笅鍘伙紝楹葷儲灝卞ぇ浜嗭紝鑷沖皯璇存槑涔嬪墠鐨勯獙璇侀昏緫鏈夌枏婕忋?/p>

WSASend澶辮觸鐨勫師鍥犳槸錛歍he Windows Sockets provider reports a buffer deadlock. 榪欓噷鎻愬埌鐨勬槸buffer deadlock錛屾樉鐒舵槸鐢變簬澶氱嚎紼婭/O鎶曢掍笉褰撳紩璧風殑銆?/p>

瑙e喅鏂規錛氬湪娑堟伅鏀跺彂鍓嶏紝瀵規渶澶ф寕璧風殑娑堟伅鎬葷殑鏁伴噺鍜屽閲忚繘琛屾楠屽拰鎺у埗銆?/p>

涓ラ噸紼嬪害錛?strong>涓ラ噸銆?/p>

鏈枃涓昏鍙傝?a target="_blank">MSDN銆?/p>

************* 璇存槑 *************

Fox鍙槸瀵硅嚜宸卞叧蹇冪殑鍑犱釜閿欒鍜孉PI鍙傜収MSDN榪涜鍒嗘瀽錛屼笉鎻愪緵棰濆甯姪銆?/p>

Fox 2009-09-12 00:20 鍙戣〃璇勮
]]>Amdahl 瀹氬緥 = Gustafson瀹氬緥http://www.shnenglu.com/Fox/archive/2009/09/10/95782.htmlFoxFoxThu, 10 Sep 2009 04:04:00 GMThttp://www.shnenglu.com/Fox/archive/2009/09/10/95782.htmlhttp://www.shnenglu.com/Fox/comments/95782.htmlhttp://www.shnenglu.com/Fox/archive/2009/09/10/95782.html#Feedback0http://www.shnenglu.com/Fox/comments/commentRss/95782.htmlhttp://www.shnenglu.com/Fox/services/trackbacks/95782.html鏈枃鍚屾鑷?a target="_blank">娓告垙浜虹敓

鍛ㄤ紵鏄庤佸笀搴旇鏄鏍歌綆楅鍩熺殑鑰佷漢浜嗐?/p>

榪欏嚑鏃ュ洜涓烘兂鎵炬壘鏃犻攣錛坙ock-free錛夋柟闈㈢殑淇℃伅錛屽氨鎵撳紑浜?a target="_blank">鍛ㄨ佸笀鐨刡log銆傜湅鍒?a target="_blank">澶氭牳緋葷粺涓笁縐嶅吀鍨嬮攣绔炰簤鐨勫姞閫熸瘮鍒嗘瀽榪欑瘒鏂囩珷鏃訛紝瑙夊緱鑰佸笀寮鴻皟澶氭牳璁$畻鏁堢巼鏄湁蹇呰鐨勶紝浣嗘嬁Amdahl 瀹氬緥鍜孏ustafson瀹氬緥浣滃姣旀湁鐐逛笉鎭板綋銆?/p>

鎸夌収鎴戠殑鐞嗚В錛岃繖涓や釜瀹氬緥鎵鍒葷敾鐨勫唴瀹規槸瀹屽叏涓鑷寸殑錛屽彧鏄鍔犻熸瘮鐨勫畾涔変笉涓鏍風艦浜嗐傝繖閲岋紝鎴戜滑閮戒互S(n)琛ㄧずn鏍哥郴緇熷鍏蜂綋紼嬪簭鐨勫姞閫熸瘮錛孠琛ㄧず涓茶閮ㄥ垎璁$畻鏃墮棿姣斾緥銆?/p>

Amdahl 瀹氬緥鐨勫姞閫熸瘮錛歋(n) 錛?浣跨敤1涓鐞嗗櫒鐨勪覆琛岃綆楁椂闂?/ 浣跨敤n涓鐞嗗櫒鐨勫茍琛岃綆楁椂闂?/p>

S(n) = 1/(K+(1-K)/n) = n/(1+(n-1)K)

Gustafson瀹氬緥鐨勫姞閫熸瘮錛歋(n) 錛?浣跨敤n涓鐞嗗櫒鐨勫茍琛岃綆楅噺 / 浣跨敤1涓鐞嗗櫒鐨勪覆琛岃綆楅噺

S(n) = K+(1-K)n

閫氫織鐨勮錛孉mdahl 瀹氬緥灝嗗伐浣滈噺鐪嬩綔1錛屾湁n鏍鎬篃鍙兘鍒嗘媴1-K鐨勫伐浣滈噺錛涜孏ustafson瀹氬緥鍒欏皢鍗曟牳宸ヤ綔閲忕湅浣?錛屾湁n鏍革紝灝卞彲浠ュ鍔爊(1-K)鐨勫伐浣滈噺銆?/p>

榪欎袱涓綆楀叕寮忛兘娌℃湁灝嗛攣寮閿鑰冭檻鍦ㄥ唴錛屾槸鐞嗘兂鍖栫殑銆傚懆鑰佸笀鎻愬埌璁捐涓嶅綋閫犳垚騫惰鍙樹覆琛岀殑闂涓庤繖涓や釜鍏紡璁$畻鏃犲叧銆傚洜涓轟換浣曞鏍歌綆楅兘瀛樺湪瀵逛覆琛屽拰騫惰鐨勮璁¤冮噺錛岃繖姝f槸紼嬪簭鍛樺湪浣跨敤澶氭牳騫惰鏃舵渶鍏沖績鐨勪簨鎯呫?/p>

鎬諱箣錛屼簩鑰呯殑鍖哄埆鍙湪浜庢佸害鐨勪笉鍚岋細涓涓秷鏋佹偛瑙傦紝涓涓Н鏋佷箰瑙傦紝鍏呭叾閲忔槸涓涓喎絎戣瘽錛岃屼簬澶氭牳璁$畻娌℃湁浠諱綍鍏寵仈銆?/p>

鎴戣榪欎簺涔熶笌澶氭牳璁$畻娌℃湁鍏寵仈錛屼笣姣病鏈夎川鐤戝鏍告晥鐜囩殑鎰忔濄傜浉鍙嶏紝鎴戞湡寰呰兘澶熼氳繃鎶鏈眰闈㈡彁楂樺鏍哥殑鏈夋晥璐熻澆銆?/p>鏈鍚庝竴鍙ラ澶栬瘽錛屽懆鑰佸笀浣跨敤Word鐨勬按騫充竴鑸細鎵鏈夋潵鑷猈ord鐨勬埅鍥鵑兘鏄湪欏甸潰瑙嗗浘鐩存帴鎴紝鎹㈣絎﹀拰鍏夋爣闅忓鍙銆?img src ="http://www.shnenglu.com/Fox/aggbug/95782.html" width = "1" height = "1" />

Fox 2009-09-10 12:04 鍙戣〃璇勮
]]>
ACE: Socket灝佽錛?1錛?/title><link>http://www.shnenglu.com/Fox/archive/2009/09/01/94973.html</link><dc:creator>Fox</dc:creator><author>Fox</author><pubDate>Tue, 01 Sep 2009 06:22:00 GMT</pubDate><guid>http://www.shnenglu.com/Fox/archive/2009/09/01/94973.html</guid><wfw:comment>http://www.shnenglu.com/Fox/comments/94973.html</wfw:comment><comments>http://www.shnenglu.com/Fox/archive/2009/09/01/94973.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/Fox/comments/commentRss/94973.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Fox/services/trackbacks/94973.html</trackback:ping><description><![CDATA[<p>鏈枃鍚屾鑷?a target="_blank">娓告垙浜虹敓</a></p> <p><strong>o *__ 搴?__* o</strong></p> <p>鍦ㄩ槄璇籄CE浠g爜鍜孋++NPv1, v2, APG鐨勬椂鍊欙紝鎴戞剰璇嗗埌涓涓棶棰橈細铏界劧紼嶆湁C++鍜岀綉緇滃熀紜鐨勫悓瀛﹂兘鍙互璇繪噦ACE錛屼絾濡傛灉浣犲OS錛堜簲澶х鐞嗘ā鍧楅兘鍖呭惈鍦ㄥ唴錛夈乀CP/IP銆丆++銆丏esign Patterns浜嗚В瓚婂錛屼綘灝辮秺鑳戒綋浼欰CE涓轟粈涔堥渶瑕佽繖涔堝簽鏉傦紝铏界劧瀹冧笉澶熷畬緹庯紙浣嗚嚦灝戞垜榪樻病鏈夎祫鏍兼潵鎵硅瘎榪欎竴鐐癸紝鎴戠幇鍦ㄦ渶甯告兂鍋氱殑涓涓姩浣滃氨鏄簲浣撴姇鍦幫級銆?/p> <p>鑰屼笖鎴戦殣綰︽劅瑙夊埌錛屾垜鐜板湪鎵鍐欑殑寰堝涓滆タ鍦ㄤ互鍚庯紙瀵逛簬鏈変簺浜烘垨璁稿氨鏄幇鍦級鐪嬫潵浼氱浉褰撲笉娣卞埢銆佺浉褰撲笉涓ヨ皚錛屼絾瀵逛簬涓孌靛涔犲巻紼嬶紝榪欎釜榪囩▼鏄繀鐒剁殑銆佸繀闇鐨勩?/p> <p>鍦–++NPv1涓紝<a target="_blank">Douglas C. Schmidt</a>鎶婂師濮媠ocket鍙婂叾API鐨勭己闄鋒湁浜涘欖斿寲浜嗭紝姣斿涓孌靛姞涓婃敞閲娿佺┖琛屽湪鍐呯殑35琛岀殑浠g爜錛岃鎸囧嚭鏈?0澶勯敊璇箣澶氥傝繖灝卞儚寰堝鍏朵粬璇█鐨勫″鑰呮垨鍙嶄紶緇烠/C++鎸囬拡鑰呭湪鎵硅瘎鎸囬拡鏃剁殑璇存硶涓鏍楓傞暱鏈熶嬌鐢ㄥ師濮媠ocket鍜屾寚閽堢殑鍚屽瀵規鎰熻寰堜笉鑸掓湇錛屼綍鍐祍ocket API鎻愪緵浜嗗ぇ閲忛敊璇嫻嬬殑鎺ュ彛錛岃嚦澶氭槸涓嶅鍙嬪ソ緗簡銆備綘濂藉氨濂戒簡錛屾病蹇呰鎶撲綇鍒漢涓欏跨棝鎵瑰惂錛屻庢湰鏄悓鏍圭敓錛岀浉鐓庝綍澶ャ忋?/p> <p>铏界劧Solaris銆丩inux鐨勫緢澶氱増鏈強Windows瀵硅搗婧愪簬Berkeley鐨剆ocket API榪涜浜嗛噸鍐欙紝浣嗕笉鍙惁璁わ紝鐢變簬鍘嗗彶鍘熷洜鍜孭OSIX鏍囧噯鐨勫瓨鍦紝瀵逛簬浣跨敤鑰呰岃█錛屾垜浠彲浠ユ棤瑙嗚繖浜汚PI鐨勫疄鐜板樊寮傘傚彧鏄竴鏃︽垜浠粠socket閫氫俊鎵╁睍鍒板叾浠朓PC閫氫俊鐨勮瘽錛屽氨闇瑕佹瑙嗗悇縐岻/O緇嗚妭鐨勫樊寮備簡銆?/p> <p>鐢變簬UNIX涓紝瀵逛簬socket, file, pipe, device鐨勫ぇ澶氭暟鎿嶄綔錛屾弿榪扮閮芥槸閫氱敤鐨勶紙榪欎竴鐐癸紝OS涓婇潰璁茬殑鏇存竻妤氫簺錛夈傝學indows涓紝鍙ユ焺澶у涓嶈兘浜掓崲錛坰ocket瀵逛簬MS鏉ヨ鏄埗鏉ュ搧錛夈傜郴緇熷拰鏍囧噯鐨勪笉涓鑷村鑷村湴鍧銆佸崗璁拰API鐨勬販鏉傜敋鑷蟲販涔便?/p> <p>UNIX涓嬬殑鎻忚堪絎﹀拰Windows鐨勫彞鏌勫彲浠ョ湅浣滄槸鍚屼竴涓蹇碉紝鍙槸搴旂敤鐜涓嶄竴鏍鳳紝鎵鎻忚堪鐨勫唴瀹逛篃鏃跺父涓嶄竴鏍鳳紝鍐嶇畝鍗曚簡璇達紝瀹冧滑閮芥槸涓涓暣鍨嬬殑ID銆?/p> <p>ACE鐨勬簮鐮佷腑浣跨敤浜嗗ぇ閲忛澶勭悊鎸囦護錛屽挨鍏跺湪璺ㄥ鉤鍙?緙栬瘧鐜鐨勯儴鍒嗘洿鍔犳槑鏄俱傞壌浜嶤/C++鏍囧噯鐨勫崥澶ц兏鎬錛屾湁浜涙寚浠ら渶瑕侀槄璇葷浉鍏崇紪璇戝櫒鎻愪緵鐨勫府鍔╂枃妗o細</p> <p>o #pragma: <a target="_blank">GCC</a>, <a target="_blank">MSVC</a></p> <p>o #define (#, #@, ##) : <a target="_blank">GCC</a>, <a target="_blank">MSVC</a> </p> <p>鍏朵腑鏈夎嫢騫蹭唬鐮佹枃浠朵互.inl涓哄悗緙錛岄噷闈㈡槸瀵歸儴鍒嗗嚱鏁扮殑鍐呰仈瀹炵幇錛屼互浣夸唬鐮佺粨鏋勭湅涓婂幓鏇村姞綆媧併傚鏋滅‘瀹氫嬌鐢ㄥ唴鑱斿嚱鏁扮殑璇濓紝*.inl灝嗚鍖呭惈浜?.h鐨勬渶鍚庯紝濡傛灉涓嶄嬌鐢紝鍒欏儚*.h涓鏍鳳紝鍖呭惈浜?.cpp鐨勫ご閮ㄣ?/p> <p>ACE閲囩敤doxygen杈撳嚭鏂囨。錛屽湪闃呰浠g爜娉ㄩ噴鏃惰兘澶熸劅鍙楀埌宸紓錛屼絾鍩烘湰涓嶄細褰卞搷闃呰銆?/p> <p><strong>o * __ 鍏充簬絎?绔狅紙C++NPv1錛塤_ * o</strong></p> <p>ACE鎶借薄鐨勫湴鍧綾籄CE_Addr鎷ユ湁ACE_DEV_Addr, ACE_FILE_Addr, ACE_INET_Addr, ACE_SPIPE_Addr, ACE_UNIX_Addr浜斾釜瀛愮被銆傚浜庣嫮涔変笂鐨勭綉緇滈氫俊錛圱CP/IP錛夎岃█錛孉CE_INET_Addr瀵瑰簲浜庢垜浠啛鎮夌殑sockaddr_in銆?/p> <p>ACE_IPC_SAP鏄疘PC錛坕nterprocess communication錛塈/O鎿嶄綔綾葷殑root綾匯?/p> <p>浠庣紪鐮佺殑瑙掑害鐪嬶紝榪欎釜綾繪紓浜殑鍦版柟鍦ㄤ簬紺轟緥浜嗘娊璞$被鐨勫彟涓縐嶅疄鐜版柟寮忋?/p> <p>涓鎻愬埌鎶借薄綾伙紝澶у鏁頒漢鐨勭涓鍙嶅簲鏄痯ure virtual function銆傚綋涓涓熀綾葷‘瀹氶渶瑕佷嬌鐢╲irtual function鏃訛紝榪欐槸涓涓笉閿欑殑閫夋嫨銆備絾鎴戜滑閮界煡閬撹櫄鎷熷嚱鏁版湁寮閿銆傝屼笖瀵逛簬涓涓粨鏋勭畝鍗曠殑鎶借薄鍩虹被鍜屽叾緇ф壙瀛愮被錛堝挨鍏舵槸澶ч噺浣跨敤鏃訛級錛屼竴涓櫄鍑芥暟琛ㄥ甫鏉ョ殑寮閿浼氳鏁翠釜璁捐鏄懼緱鍗佸垎韞╄剼銆?/p> <p>鎴戜滑閮界煡閬撳浣曞己鍒惰涓涓被鏃犳硶浣跨敤default constructor錛坧rotected錛夈傚鏋滃鍩虹被浣跨敤璇ユ柟娉曪紝浠呬嬌瀛愮被鍏鋒湁public鐨刣efault constructor錛岃繖灝辮揪鍒頒簡瀹氫箟鎶借薄鍩虹被鐨勬晥鏋溿?/p> <p>virtual destructor鐨勬剰涔夊湪浜庨槻姝elete鐖剁被鎸囬拡錛堟寚鍚戝瓙綾誨璞★級鏃舵湭璋冪敤瀛愮被destructor銆傚湪姝や緥涓紝涓洪伩鍏嶈繖縐嶆儏鍐碉紝鍚屾牱灝哾estructor澹版槑涓簆rotected鍗沖彲銆?/p> <p>浠庤璁″疄鐜扮殑瑙掑害鐪嬶紝鐩歌緝浜巗ocket API錛孉CE_IPC_SAP鐨勫瓙綾籄CE_SOCK鎻愪緵浜嗙紪璇戞椂瀵瑰彞鏌勫悎娉曟х殑媯嫻嬨?/p> <p>浠庨昏緫鍔熻兘灞傞潰鍒掑垎錛宻ocket鏈変笁縐嶈鑹詫細</p> <p>o active connection role (connector)錛氫富鍔ㄨ繛鎺?/p> <p>o passive connection role (acceptor)錛氳鍔ㄨ繛鎺?/p> <p>o communication role (stream)錛氭暟鎹氫俊</p> <p>浣唖ocket API姣曠珶涓嶆槸OOD鍑烘潵鐨勶紝瀵逛簬涓涓猻ocket鎻忚堪絎︼紝涔熷畬鍏ㄦ病鏈夊繀瑕佸幓闄愬埗鍏舵媴璐熺殑鍔熻兘錛屾洿涓嶅彲鑳芥悶鎴愪笁縐嶄笉鍚岀殑socket銆傝孫OD鐨凙CE鍒欏彲浠ヨ交鏄撳疄鐜板socket瀵硅薄鍙婂叾鎿嶄綔鐨勫皝瑁呫?/p> <p>宸ュ巶綾籄CE_SOCK_Connector鏄竴涓富鍔ㄥ垱寤洪氫俊绔殑宸ュ巶綾匯俿ocket API涓殑connect鎺ュ彛鍙槸涓轟竴涓猻ocket寤虹珛涓庡叾瀹僷eer鐨勭綉緇滆繛鎺ワ紝鑰屼笉浜х敓鏂扮殑socket瀹炰緥錛屼篃涓嶄緷璧栦簬浠諱綍鍏跺畠socket銆傚悓鏍鳳紝ACE_SOCK_Connector鍙槸涓轟竴涓狝CE_SOCK_Stream瀵硅薄錛堝鐢ㄤ簬鏁版嵁閫氫俊鐨剆ocket鐨勫皝瑁咃級榪炴帴鍒癆CE_Addr錛堝struct sockaddr鐨勫皝瑁咃級鎻愪緵鎺ュ彛錛屼篃涓嶅惈瀵笰CE_SOCK_Stream瀵硅薄鐨勫叾瀹冩搷浣溿?/p> <p>宸ュ巶綾籄CE_SOCK_Acceptor鏄竴涓鍔ㄥ垱寤洪氫俊绔殑宸ュ巶綾匯傚綋鐩戝惉鍒版柊鐨勭綉緇滆繛鎺ュ悗錛屼負璇ヨ繛鎺ュ垵濮嬪寲涓涓狝CE_SOCK_Stream瀵硅薄銆傚拰connector涓嶅悓鐨勬槸錛宎cceptor渚濊禆浜庝竴涓凡緇忓瓨鍦ㄧ殑鍏呭綋鐩戝惉鍔熻兘鐨剆ocket鍙ユ焺錛圓CE_SOCK錛夛紝鍥犳錛孉CE_SOCK_Acceptor鏄疉CE_SOCK鐨勪竴涓瓙綾匯?/p> <p>ACE_SOCK_Stream鏄彧璐熸湁閫氫俊浼犺緭鍔熻兘鐨剆ocket錛屽搴攃onnection-oriented鐨凾CP閫氫俊鏍煎紡stream錛屽拰UDP鐨凜E_SOCK_CODgram鐩稿懠搴斻侫CE_SOCK_Stream鍙槸socket鐨勯氫俊杞戒綋錛屽湪涓や釜宸ュ巶ACE_SOCK_Connector鍜孉CE_SOCK_Acceptor涓垵濮嬪寲銆傝繖鏍蜂竴涓被闄ゆ敮鎸佹渶鍩烘湰鐨勬暟鎹彂閫侊紙send錛夊拰鎺ユ敹錛坮ecv錛夊拰闃誨錛坆locking錛夈侀潪闃誨錛坣onblocking錛夊強瀹氭椂錛坱imed錛夌殑I/O妯″紡澶栵紝榪樻敮鎸佸垎鏁h鍙栵紙scatter-read錛夊拰闆嗕腑鍐欏叆錛坓ather-write錛夈?/p> <p>瀵逛簬涓涓畝鍗曠殑銆庣綉緇滆紼嬩綔涓氾細鍐欎竴涓湁榪炴帴鐨処M灝忕▼搴忋忥紝涓婇潰榪欎簺鍐呭宸茬粡瓚沖浜嗐傚綋鐒跺嵆浣夸嬌鐢ㄥ搴旂殑鍑犱釜socket API涔熷凡緇忚凍澶熶簡銆備絾鎴戜滑鏄劇劧鏇村姞鍏沖績濡傛搴炲ぇ鐨勪竴涓簱錛屾槸濡備綍瑙e喅澶嶆潅鐨勭綉緇滃簲鐢ㄧ殑錛屾垜灝ゅ叾鍏沖績鐨勬槸澶氱嚎紼嬪茍鍙戝浣曟洿濂界殑澶勭悊銆?/p> <p>鎵浠ワ紝鎴戝噯澶囪窇鍒扮8銆?绔犱簡銆?/p><img src ="http://www.shnenglu.com/Fox/aggbug/94973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Fox/" target="_blank">Fox</a> 2009-09-01 14:22 <a href="http://www.shnenglu.com/Fox/archive/2009/09/01/94973.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Doxygen鍦–ygwin涓嬬殑浣跨敤http://www.shnenglu.com/Fox/archive/2009/08/28/94689.htmlFoxFoxFri, 28 Aug 2009 09:14:00 GMThttp://www.shnenglu.com/Fox/archive/2009/08/28/94689.htmlhttp://www.shnenglu.com/Fox/comments/94689.htmlhttp://www.shnenglu.com/Fox/archive/2009/08/28/94689.html#Feedback5http://www.shnenglu.com/Fox/comments/commentRss/94689.htmlhttp://www.shnenglu.com/Fox/services/trackbacks/94689.html鏈枃鍚屾鑷?a target="_blank">娓告垙浜虹敓

鎴戝彂鐜版垜鏈榪戞垚浜咰ygwin涓嬬殑灝忕櫧榧狅紝鍐欏畬Cygwin涓嬪畨瑁匒CE錛屽啓ACE鍦╟ygwin涓嬬殑浣跨敤銆傜幇鍦ㄥ張鍐?a target="_blank">doxygen銆?/p>

涔嬪墠鎻愬埌鍦–ygwin涓嬭浠g爜鐨勪笉涔犳儻錛屽悗鏉ュ洖鍒癡S涓嬬湅銆傛病榪囧嚑澶╋紝瑙夊緱VS涓嬭繕鏄笉澶熺洿瑙傦紝浜庢槸灝辯洿鎺ョ湅ACE鐨刣oxygen浜?#8230;…

doxygen濂芥槸濂斤紝鐢ㄨ搗鏉ヨ繕鏄鎱㈡參涔犳儻鎵嶈錛岄渶瑕佸湪鍐欐敞閲婂拰浠g爜鐨勬椂鍊欐敞鎰忎竴浜涳紝鎺屾彙鐨勭粏鑺傚拰鎶宸ц秺澶氾紝鍑烘潵鐨勬枃妗h秺涓板瘜錛堝綋鐒訛紝榪欏拰浠g爜璐ㄩ噺鏄袱鐮佷簨錛夈?/p>

鎴戣嚜鐒舵槸鎶奷oxygen瀹夎鍦–ygwin涓嬩簡錛岀敱浜巇oxygen娌℃湁鎻愪緵info錛孖nfo doxygen鏃跺氨鑷姩鎵撳紑浜哾oxygen鐨刴an錛屽拰man doxygen銆乨oxygen --help涓涓晥鏋溿?/p>

濡傛灉甯屾湜闃呰鏇磋灝界殑浣跨敤鏂規硶錛屽彧鏈夎嚜宸?a target="_blank">down涓涓猰anual浜?/a>銆?/p>

鍦–ygwin涓嬶紝doxygen閲囩敤GNU鐨刲ibiconv榪涜鏂囧瓧緙栫爜鐨勮漿鎹紝浠?a target="_blank">UTF-8浣滀負榛樿緙栫爜銆?/p>

浣跨敤doxygen鐢熸垚config-file妯℃澘鍚庯紝鍙互鍦╟onfig-file涓繘琛屼竴浜涢」鐩緗紙鏈夋敞閲婄殑錛岀湅鐨勬噦錛夈?/p>

涓轟簡鏀寔涓枃錛屾垜DOXYFILE_ENCODING鐢ㄧ殑鏄?a target="_blank">EUC-CN錛屼絾杈撳嚭鏂囨。鐨勮璦OUTPUT_LANGUAGE鍗撮変簡English銆備袱鐐瑰師鍥狅細

o EUC-CN錛堝悇縐嶆眽瀛楃紪鐮佺煡璇嗗氨涓嶅湪姝ゆ櫘鍙婁簡錛屼綘鍙互璁や負綆浣撳瓧緙栫爜閮芥槸EUC-CN錛夊拰UTF-8涓嶅悓錛屼絾OUTPUT_LANGUAGE鐨勫悇縐嶈璦閮芥槸浣跨敤鐨刄TF-8錛?span style="text-decoration: line-through;">鎵浠ヤ袱縐嶇紪鐮佷笉鍙兘鍚屾椂鏄劇ず錛屽綋鐒訛紝浣犲彲浠ユ妸EUC-CN鍏ㄨ漿鎴怳TF-8銆傜紪鐮佷笉鏄珮綰х殑鎶鏈紝浣嗗浜庨潪鑻辮鐢ㄦ埛緇濆鏄竴涓櫓姊?/span>錛?span style="color: rgb(34, 34, 34); font-family: Georgia, Arial; font-size: 14px; ">鍚庢潵鍙戠幇鏄垜鑷繁瀛﹁壓涓嶇簿錛孌OXYFILE_ENCODING鍙槸閰嶇疆鏂囦歡鐨勭紪鐮佹牸寮忚屽凡錛岃岃瘑鍒腑鏂囨枃妗e彧闇瑕佷慨鏀笽NPUT_ENCODING鎴怑UC-CN鍗沖彲錛孫UTPUT_LANGUAGE鑷劧璁劇疆鎴怌hinese涔熶笉浼氭湁闂錛屽洜涓篸oxygen閲囩敤UTF-8杈撳嚭錛屼嬌鐢ㄤ腑鏂囪緭鍑轟笉浼氭湁涔辯爜闂銆?/span>

o 铏界劧鎴戠殑鑻辨枃寰堣供鑴氾紝铏界劧鎴戠殑鏂囨。涓鏈変腑鏂囨敞閲娿備絾鍍廳oxygen涓枃杈撳嚭鐨勬枃妗d腑鎶奵lass銆乸ublic閮界粰浣犵炕璇戞垚涓枃錛屼綘涔熷彈涓嶄簡錛岃繖涔熻嫳鏂囨按騫蟲棤鍏熾?/p>

config-file涓殑鍏朵粬鍐呭鎴戠幇鍦ㄤ篃鐢ㄤ笉鍒幫紝灝辨病鏈変粩緇嗙湅銆?/p>

鍥犱負Kevin浼氬湪鍏徃閲岃涓涓媎oxygen錛宒oxygen鐨刴anual涔熻鐨勫緢璇︾粏錛屾垜灝辯渷鐐規椂闂達紝涓嶇炕璇戞枃妗d簡銆?/p>

綆鍗曠殑涓涓?a target="_blank">Doxygen鐨勬祴璇?/a>鍦ㄨ繖閲屻?/p>

Fox 2009-08-28 17:14 鍙戣〃璇勮
]]>
ACE涔婥ygwin vs Winhttp://www.shnenglu.com/Fox/archive/2009/08/24/94234.htmlFoxFoxMon, 24 Aug 2009 03:59:00 GMThttp://www.shnenglu.com/Fox/archive/2009/08/24/94234.htmlhttp://www.shnenglu.com/Fox/comments/94234.htmlhttp://www.shnenglu.com/Fox/archive/2009/08/24/94234.html#Feedback6http://www.shnenglu.com/Fox/comments/commentRss/94234.htmlhttp://www.shnenglu.com/Fox/services/trackbacks/94234.html鏈枃鍚屾鑷?a target="_blank">娓告垙浜虹敓

鎴戝眻鏈嶄簡錛岃繕鏄疺S鐢ㄧ殑鏂逛究銆?/p>

涔嬪墠鍦–ygwin涓嬪凡緇忓彲浠ヤ嬌鐢ㄧ殑ACE錛屽洜涓洪槄璇諱唬鐮佸お涓嶆柟渚匡紙瀵逛簬涓涓猈inEr鏉ヨ錛夛紝涓婂崍鍦╒S涓嬮潰鑺變簡鍑犲垎閽熷氨鎶夾CE閰嶅ソ浜嗭紝鑰屼笖浣跨敤$(ACE_ROOT)\examples\C++NPv1鐨勪唬鐮佽窡韙皟璇曪紝澶範鎯簡銆?/p>

鎸夌収$(ACE_ROOT)\ACE-INSTALL.html鐨勫畨瑁呰鏄庯細

o 閫夋嫨騫舵墦寮$(ACE_ROOT)\ace\ace_vc9.sln

o 娣誨姞config.h騫跺姞鍏ヤ互涓嬪唴瀹癸細

   #define ACE_HAS_STANDARD_CPP_LIBRARY 1
    #include "ace/config-win32.h"

o F7

-----------------------------------------------

OK錛岀幇鍦?(ACE_ROOT)\lib涓嬮潰宸茬粡鐢熸垚浜咥CEd.dll銆丄CEd.lib錛屽啀璁劇疆涓涓嬬郴緇熺幆澧冨彉閲忥紙榪愯紼嬪簭蹇呴渶錛夊拰VC++鐩綍錛堣皟璇曠▼搴忓繀闇錛夈傚彲浠ヤ嬌鐢ㄤ簡錛?

o 閫夋嫨騫舵墦寮$(ACE_ROOT)\examples\C++NPv1

o F7

o

Fox 2009-08-24 11:59 鍙戣〃璇勮
]]>
ACE鍦╟ygwin涓嬬殑浣跨敤http://www.shnenglu.com/Fox/archive/2009/08/19/93781.htmlFoxFoxWed, 19 Aug 2009 02:05:00 GMThttp://www.shnenglu.com/Fox/archive/2009/08/19/93781.htmlhttp://www.shnenglu.com/Fox/comments/93781.htmlhttp://www.shnenglu.com/Fox/archive/2009/08/19/93781.html#Feedback4http://www.shnenglu.com/Fox/comments/commentRss/93781.htmlhttp://www.shnenglu.com/Fox/services/trackbacks/93781.html鏈枃鍚屾鑷?a target="_blank">娓告垙浜虹敓

int ACE_TMAIN(int, ACE_TCHAR *[])
{
     ACE_TRACE(ACE_TEXT("main"));

     ACE_DEBUG((LM_INFO, ACE_TEXT("%IStart\n")));
     ACE_DEBUG((LM_INFO, ACE_TEXT("%IEnd\n")));

     return 0;
}

/*--------- makefile ---------*/

BIN     = hello                       # src & exe file name
SRC     = $(addsuffix .cc, $(BIN))    # src file suffix
LIBS    = -lACE                       # libACE.dll under cygwin

include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
include $(ACE_ROOT)/include/makeinclude/macros.GNU
include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
include $(ACE_ROOT)/include/makeinclude/rules.local.GNU

/*--------- Compilation ---------*/

GNUmakefile: /home/fox/ace/GNUmakefile MAKEFLAGS=k

g++ -Wpointer-arith -mthreads -mtune=pentiumpro -O3 -g -pipe    -pipe   -I/usr/\
share/ace -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE  -c -o .obj/hello.o hello.cc
g++ -Wpointer-arith -mthreads -mtune=pentiumpro -O3 -g -pipe    -pipe   -I/usr/\
share/ace -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE  -Wl,--enable-auto-import -Wl,-E\
-L/usr/share/ace/lib -o hello .obj/hello.o  -lACE

Compilation finished at Wed Aug 19 00:35:42

/*--------- Result ---------*/

$ ./hello.exe
(14417928) calling main in file `hello.cc' on line 13
    Start
    End
(14417928) leaving main

-------------------------------------------------------

鏇村鍐呭璇峰弬鑰?a target="_blank">C++NP(C++ Network Programming) vol.1 & vol.2鍜孉PG(The ACE Progrmmer's Guide)銆?/p>

蹇欐椿浜嗕竴鏅氫笂錛岀粓浜庣煡閬撴庝箞鍖呭惈澶存枃浠朵簡錛屽湪gcc鐨勭紪璇戦夐」涓敤 -I鎴?I$(ACE_ROOT)錛?/p>

鏈緥涓槸錛?I/usr/share/ace

緇撴灉鍚庨潰搴撳張閾炬帴涓嶄笂錛岃仈鎯充互鍓嶄嬌鐢∣penGL搴撶殑LIBS錛岀粓浜庨潬涓涓?lACE鎼炲畾銆?/p>

鍥犱負涓嶆効鎰忕敤MPC錛屾繪劅瑙夊啀澶氳姳浜涙椂闂村幓寮勫張鍙槸紱婚鏇磋繙浜嗭紝鏈夊叴瓚g殑鍚屽鑷劧鏄彲浠ラ氳繃ACE鐨勫畼緗戞壘鍒版墍鏈夐棶棰樼殑絳旀銆?/p>

榪欐牱涓鏉ワ紝ACE鍦╟ygwin涓嬩粠瀹夎鍒頒嬌鐢ㄤ篃灝卞憡涓孌佃惤浜嗭紝鍚庨潰鐨勯棶棰樺氨姣旇緝easy浜嗭紝鏃犻潪鏄綘鐢ˋCE鍋氫粈涔堛傝屾垜涔熶笉浼氬啀灝盇CE && cygwin鍐欎粈涔堝績寰椾簡錛屾葷畻瑙佽瘉浜嗚繖涓ゅぉ鐨勬崳鑵俱?/p>



Fox 2009-08-19 10:05 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲女爱视频在线| 国产精品久久久久久户外露出| 国产精品一区二区在线| 午夜精品www| 欧美一区二区视频网站| 在线观看欧美激情| 亚洲国产精品一区二区www| 美国十次成人| 中文无字幕一区二区三区| 亚洲一二三区精品| 国产亚洲精品久| 欧美成人精品影院| 欧美日韩在线三级| 欧美一区亚洲二区| 久热精品视频在线免费观看| 99视频精品| 欧美在线91| 亚洲巨乳在线| 欧美诱惑福利视频| 在线一区二区三区四区五区| 欧美一区日韩一区| 一本色道88久久加勒比精品| 午夜精品www| 亚洲九九九在线观看| 亚洲免费视频一区二区| 亚洲国产精品久久久久婷婷老年| 夜夜嗨网站十八久久| 国外成人在线| 一本综合精品| 亚洲国产精品国自产拍av秋霞| 一区二区三区日韩欧美| 亚洲国产一区二区精品专区| 亚洲一区二区四区| 一本一本久久a久久精品综合麻豆| 午夜日韩av| 亚洲一二三区在线| 欧美激情亚洲国产| 久热爱精品视频线路一| 国产精品久久久久永久免费观看| 欧美福利一区二区| 一区二区三区在线观看视频| 亚洲综合第一页| 一区二区国产精品| 欧美精品自拍| 亚洲国产精品va在线看黑人动漫| 国产有码在线一区二区视频| 中文av一区特黄| 国产精品99久久久久久人 | 久久精品女人| 国产精品国产三级国产| 亚洲精品视频在线| 亚洲国产欧美久久| 久久婷婷久久| 久久狠狠一本精品综合网| 国产精品久久久久一区二区三区| 亚洲精品在线免费| 亚洲免费成人av电影| 欧美mv日韩mv亚洲| 亚洲国产精品va在线看黑人动漫| 亚洲第一黄网| 免费在线观看一区二区| 欧美国产91| 亚洲精品视频在线| 欧美精品久久99久久在免费线| 亚洲国产精品精华液网站| 亚洲国产一区二区三区青草影视 | 久久久久国产成人精品亚洲午夜| 国产精品久久看| 在线综合亚洲| 欧美在线观看一区| 黄色精品免费| 蜜臀久久久99精品久久久久久 | 99精品福利视频| 亚洲欧美国产高清va在线播| 国产精品影视天天线| 欧美一区二区三区在线播放| 久久躁狠狠躁夜夜爽| 亚洲高清一区二| 欧美久久电影| 亚洲综合国产| 免费日韩成人| 一本不卡影院| 国产色产综合产在线视频| 久久国产黑丝| 亚洲精品美女91| 久久成人免费| 亚洲国内自拍| 国产精品一区三区| 麻豆成人小视频| 在线亚洲免费| 免费在线亚洲| 午夜在线观看欧美| 亚洲国产精品女人久久久| 欧美日韩精品免费看| 欧美一级大片在线观看| 亚洲国产欧美精品| 久久国产一区二区| 亚洲精品久久久久久久久久久久久| 国产精品成人在线观看| 久久久噜噜噜久久中文字免| 亚洲美女黄色| 玖玖综合伊人| 欧美一区成人| 亚洲伦伦在线| 激情文学一区| 国产精品美女在线| 女同一区二区| 久久爱91午夜羞羞| 一二三区精品| 亚洲欧洲免费视频| 欧美aaa级| 欧美一区日韩一区| 在线亚洲电影| 亚洲精品九九| 亚洲国产一区二区三区高清| 国产日韩欧美一区二区三区四区| 欧美精选一区| 欧美黄色免费网站| 免费黄网站欧美| 欧美一区二区三区在线| 亚洲永久免费观看| 一区二区三区视频在线看| 亚洲日本中文| 亚洲高清自拍| 男人的天堂亚洲| 久久久国产精品一区| 欧美一区二区三区视频免费| 亚洲一品av免费观看| 亚洲精品永久免费精品| 亚洲激情在线观看| 亚洲第一色在线| 在线看片第一页欧美| 黄色一区二区在线观看| 国产一区在线观看视频| 国产亚洲永久域名| 国产婷婷色综合av蜜臀av| 欧美中文在线字幕| 久久成人免费| 久久精品盗摄| 久久精品卡一| 久久影音先锋| 欧美成人免费观看| 欧美高清在线一区二区| 欧美国产综合视频| 欧美精品午夜| 欧美日韩黄色大片| 欧美午夜宅男影院| 国产精品视频一区二区高潮| 国产麻豆视频精品| 狠狠88综合久久久久综合网| 怡红院精品视频| 亚洲国产成人一区| 亚洲毛片在线看| 亚洲性视频h| 欧美亚洲综合在线| 久久久亚洲精品一区二区三区| 久久亚洲风情| 亚洲动漫精品| 亚洲精品美女在线观看| 在线视频日本亚洲性| 欧美亚洲视频在线看网址| 久久婷婷国产综合精品青草| 欧美国产日本韩| 国产精品久久午夜| 黄色成人在线网址| 一区二区久久久久久| 久久福利毛片| 亚洲国产日韩欧美在线99| 一区二区不卡在线视频 午夜欧美不卡' | 136国产福利精品导航| 日韩一级精品视频在线观看| 香蕉尹人综合在线观看| 美女视频网站黄色亚洲| 亚洲风情在线资源站| 亚洲欧美不卡| 欧美大尺度在线| 国产视频一区在线观看| 亚洲精品一二三| 久久国产精品一区二区| 亚洲欧洲一二三| 欧美一区二区在线视频| 欧美日韩国产成人高清视频| 国语自产在线不卡| 亚洲天堂av在线免费观看| 毛片一区二区| 亚洲一区二区三区四区视频| 久久一区二区三区四区五区| 国产精品久久久久影院色老大| 亚洲二区精品| 久久免费少妇高潮久久精品99| 日韩一级大片在线| 免费黄网站欧美| 国内精品一区二区| 亚洲欧美第一页| 亚洲美女在线一区| 久久久久国产一区二区三区四区| 欧美午夜精品久久久久免费视| 亚洲国产一区二区精品专区| 久久久久国产精品人| 亚洲在线国产日韩欧美|