锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美涩涩视频,亚洲精品久久嫩草网站秘色,日韩亚洲欧美一区http://m.shnenglu.com/yearner/鏅烘収闇瑕佺偣婊寸殑縐瘡zh-cnSun, 16 Nov 2025 03:40:24 GMTSun, 16 Nov 2025 03:40:24 GMT60鍏充簬MSVCRTD.lib鐨勭紪璇戦敊璇?/title><link>http://m.shnenglu.com/yearner/archive/2010/07/14/120309.html</link><dc:creator>(Leyn)欏戒富</dc:creator><author>(Leyn)欏戒富</author><pubDate>Wed, 14 Jul 2010 03:30:00 GMT</pubDate><guid>http://m.shnenglu.com/yearner/archive/2010/07/14/120309.html</guid><wfw:comment>http://m.shnenglu.com/yearner/comments/120309.html</wfw:comment><comments>http://m.shnenglu.com/yearner/archive/2010/07/14/120309.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/yearner/comments/commentRss/120309.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/yearner/services/trackbacks/120309.html</trackback:ping><description><![CDATA[MFC鐨勫伐紼嬪寘smcinst錛岀紪璇戝悗鍑虹幇浠ヤ笅閿欒<br>MSVCRTD.lib(MSVCRTD.dll)   :   error   LNK2005:   _free   already   defined   in   libcmtd.lib(dbgheap.obj) <br>MSVCRTD.lib(MSVCRTD.dll)   :   error   LNK2005:   _malloc   already   defined   in   libcmtd.lib(dbgheap.obj) <br>....<br>LINK   :   warning   LNK4098:   defaultlib   "MSVCRTD "   conflicts   with   use   of   other   libs;   use   /NODEFAULTLIB:library <br>Debug/NKOTwain.ocx   :   fatal   error   LNK1169:   one   or   more   multiply   defined   symbols   found <br>Error   executing   link.exe. <br><br><br>鏍囧噯紼嬪簭搴撴湁鍏崇殑閫夐」: /ML銆?MLd銆?MT銆?MTd銆?MD銆?MDd銆?br>榪欎簺閫夐」瀵瑰簲緙栬瘧鍣ㄥ簲鐢ㄧ▼搴忔墍瑕佷嬌鐢ㄨ繍琛屾椂C鏍囧噯紼嬪簭搴撱?br>/ML(緙虹渷閫夐」)瀵瑰簲鍗曠嚎紼嬮潤鎬佺増鐨勬爣鍑嗙▼搴忓簱(libc.lib)錛?br>/MT瀵瑰簲澶氱嚎紼嬮潤鎬佺増鏍囧噯搴?libcmt.lib)錛屾鏃剁紪璇戝櫒浼氳嚜鍔ㄥ畾涔塤MT瀹忥紱<br>/MD瀵瑰簲澶氱嚎紼婦LL鐗?瀵煎叆搴搈svcrt.lib錛孌LL鏄痬svcrt.dll)錛岀紪璇戝櫒鑷姩瀹氫箟_MT鍜宊DLL涓や釜瀹忋傚悗闈㈠姞d鐨勯夐」閮戒細璁╃紪璇戝櫒鑷姩澶氬畾涔変竴涓猒DEBUG瀹忥紝琛ㄧず瑕佷嬌鐢ㄥ搴旀爣鍑嗗簱鐨勮皟璇曠増錛屽洜姝?MLd瀵瑰簲璋冭瘯鐗堝崟綰跨▼闈欐佹爣鍑嗗簱(libcd.lib)錛?br>/MTd瀵瑰簲璋冭瘯鐗堝綰跨▼闈欐佹爣鍑嗗簱(libcmtd.lib)錛?br>/MDd瀵瑰簲璋冭瘯鐗堝綰跨▼DLL鏍囧噯搴?瀵煎叆搴搈svcrtd.lib錛孌LL鏄痬svcrtd.dll)銆?br><br>鍥犳錛屼笂榪扮殑conflicts鍘熷洜鏄嚭鐜頒簡瀵硅繍琛屽簱鐗堟湰璋冪敤鐨勪笉涓鑷淬?br>灝嗘湁鐩鎬簰璋冪敤鍏崇郴鐨勫伐紼嬪睘鎬?>浠g爜鐢熸垚->榪愯鏃跺簱 璁劇疆鎴愮粺涓閫夐」錛屽 /mtd. <img src ="http://m.shnenglu.com/yearner/aggbug/120309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yearner/" target="_blank">(Leyn)欏戒富</a> 2010-07-14 11:30 <a href="http://m.shnenglu.com/yearner/archive/2010/07/14/120309.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title> Quoted printable 緙栫爜璇存槑http://m.shnenglu.com/yearner/archive/2008/11/20/67421.html(Leyn)欏戒富(Leyn)欏戒富Thu, 20 Nov 2008 13:46:00 GMThttp://m.shnenglu.com/yearner/archive/2008/11/20/67421.htmlhttp://m.shnenglu.com/yearner/comments/67421.htmlhttp://m.shnenglu.com/yearner/archive/2008/11/20/67421.html#Feedback0http://m.shnenglu.com/yearner/comments/commentRss/67421.htmlhttp://m.shnenglu.com/yearner/services/trackbacks/67421.html

3.2      Quoted printable 緙栫爜

         QP 緙栫爜鐢ㄤ簬琛ㄧず鍚湁澶ч噺瀵瑰簲鍙墦鍗板瓧絎︾殑鏁扮粍錛岃繖縐嶇紪鐮佹柟寮忎嬌瀛楃鍗曞厓鍦ㄤ紶杈撹繃紼嬩腑琚洿鏀圭殑鍙兘鎬у緢灝忋傚鏋滄鍦ㄧ紪鐮佺殑鏁版嵁澶ч儴鍒嗘槸ASCII鏂囨湰錛岄偅涔堢紪鐮佸悗鐨勫艦寮忓叿鏈夊緢楂樼殑鍙鎬с備竴涓畬鍏ㄦ槸ASCII鍊肩殑姝f枃鏁版嵁鐢?/span>QP緙栫爜鍚庡彲浠ヤ繚璇佹暟鎹湪瀛楃緲昏瘧鎴栫粡鐢辯綉鍏蟲椂鏁版嵁鐨勫畬鏁存с?/span>

       緙栫爜瑙勫垯濡備笅錛?/span>

       瑙勫垯1錛?/span>(涓鑸?/span>8浣嶇粍鐨勮〃紺烘柟寮?/span>), 浠諱綍鐨勫叓浣嶇粍錛岄兘鍙互鐢?/span>”=”鍚庡姞璇ュ叓浣嶇粍鐨?/span>16榪涘埗鍊兼潵琛ㄧず錛岄櫎浜嗛偅浜涙牴鎹暟鎹紪鐮佽鑼冧腑鏂拌鐨勬儻渚嬫潵鎸囧畾鐭鐨勮〃紺哄崟浣嶃傚繀欏葷敤澶у啓瀛楁瘝銆傛瘮濡傚兼槸12 錛屽垯琛ㄧず涓?/span>”=0C”銆?/span>

       瑙勫垯2錛?/span>(鏂囧瓧琛ㄧず)鍊煎湪33-60 錛屼互鍙?/span>62-126鐨勫叓浣嶇粍(鍖呭惈澶村熬鍊?/span>)錛屽彲浠ヨ〃紺烘垚閭d簺鍏綅緇勫搴旂殑ASCII瀛楃銆?/span>

       瑙勫垯3錛?/span>(絀烘牸) 鍊兼槸9鍜?/span>32鐨勫叓浣嶇粍鍙互鍒嗗埆琛ㄧず涓?/span>ASCII 鐨?/span>TAB鍜?/span>SPACE鍊鹼紝浣嗘槸涓嶅彲浠ュ嚭鐜板湪緙栫爜琛岀殑鏈熬銆備換浣曞湪緙栫爜琛岀殑TAB鎴?/span>SPACE瀛楃蹇呴』鍚庨潰鏈夊彲鎵撳嵃瀛楃鍑虹幇銆傜壒孌婃儏鍐典笅錛岀紪鐮佽鐨勬湯灝懼嚭鐜扮殑”=”錛岃〃紺烘柇琛岋紝鍏跺墠闈㈠彲鑳芥槸涓涓垨澶氫釜TAB鎴?/span>SPACE銆?/span> 瀹炶榪欐潯瑙勫垯鐨勫師鍥犳槸涓浜?/span>METs(Message Transport Agents-娑堟伅浼犺緭鍗曞厓)浼氬湪鏂囨湰鏈熬琛ヤ笂SPACE錛屽洜姝わ紝瑙g爜鏃訛紝浠諱綍璺熷湪琛屽悗鐨勭┖鏍煎繀欏誨垹闄ゃ?/span>

       瑙勫垯4錛?/span>(鏂)鍦ㄥ師鏂囦腑鐨勬柇琛屽繀欏昏〃紺烘垚鍗忚涓殑鏂絎?/span>-CRLF搴忓垪錛?/span>"=0D=0A” 錛?/span>銆傜敱浜庨潪鏂囨湰綾誨瀷鐨勮鑼冭〃紺轟竴鑸笉鍖呮嫭鏂錛屾墍浠ヨ繖縐嶇被鍨嬬殑qp緙栫爜娌℃湁紜崲琛屻傞氬父錛?/span>base64緙栫爜鍦ㄤ簩榪涘埗緙栫爜涓婃洿鍗犱紭鍔褲?/span>

       瑙勫垯5錛?/span>(杞崲琛?/span>)QP緙栫爜瑕佹眰緙栫爜鍚庢瘡琛屼笉鑳借秴榪?/span>76涓瓧絎︺傚綋瓚呰繃榪欎釜闄愬埗鏃訛紝灝嗛傜敤杞崲琛岋紝鐢?/span>”=”琛ㄧず緙栫爜琛岀殑鏂錛屽悗鎺?/span>CRLF銆傦紙76鐨勯檺鍒跺寘鎷?/span>”=”錛夈?/span>

      



(Leyn)欏戒富 2008-11-20 21:46 鍙戣〃璇勮
]]>
Base 64 緙栫爜璇存槑http://m.shnenglu.com/yearner/archive/2008/11/20/67418.html(Leyn)欏戒富(Leyn)欏戒富Thu, 20 Nov 2008 13:45:00 GMThttp://m.shnenglu.com/yearner/archive/2008/11/20/67418.htmlhttp://m.shnenglu.com/yearner/comments/67418.htmlhttp://m.shnenglu.com/yearner/archive/2008/11/20/67418.html#Feedback0http://m.shnenglu.com/yearner/comments/commentRss/67418.htmlhttp://m.shnenglu.com/yearner/services/trackbacks/67418.html闃呰鍏ㄦ枃

(Leyn)欏戒富 2008-11-20 21:45 鍙戣〃璇勮
]]>
MIME閭歡鏍煎紡璇存槑http://m.shnenglu.com/yearner/archive/2008/11/20/67417.html(Leyn)欏戒富(Leyn)欏戒富Thu, 20 Nov 2008 13:44:00 GMThttp://m.shnenglu.com/yearner/archive/2008/11/20/67417.htmlhttp://m.shnenglu.com/yearner/comments/67417.htmlhttp://m.shnenglu.com/yearner/archive/2008/11/20/67417.html#Feedback0http://m.shnenglu.com/yearner/comments/commentRss/67417.htmlhttp://m.shnenglu.com/yearner/services/trackbacks/67417.html闃呰鍏ㄦ枃

(Leyn)欏戒富 2008-11-20 21:44 鍙戣〃璇勮
]]>
[杞?]嫻呰皥C++鐨勬櫤鑳芥寚閽?http://m.shnenglu.com/yearner/archive/2008/11/09/66447.html(Leyn)欏戒富(Leyn)欏戒富Sun, 09 Nov 2008 12:43:00 GMThttp://m.shnenglu.com/yearner/archive/2008/11/09/66447.htmlhttp://m.shnenglu.com/yearner/comments/66447.htmlhttp://m.shnenglu.com/yearner/archive/2008/11/09/66447.html#Feedback0http://m.shnenglu.com/yearner/comments/commentRss/66447.htmlhttp://m.shnenglu.com/yearner/services/trackbacks/66447.html嫻呰皥C++鐨勬櫤鑳芥寚閽?/h1>
鍐呭瓨娉勯湶鏄疌++紼嬪簭鍛橀兘澶寸柤鐨勫ぇ闂銆侰++緙轟箯鍍廕AVA銆丆#涓鏍鳳紝鎷ユ湁GC榪欎箞涓欏規湁鍒╃殑姝﹀櫒錛屽畠灝嗗唴瀛樼鐞嗙殑閮ㄥ垎鏉冮檺浜ょ粰浜嗙▼搴忓憳銆傝櫧鐒禛C鐨勫瓨鍦ㄨ妭綰︿簡寮鍙戙佹帓閿欑殑鏃墮棿涓庢垚鏈紝浣嗘槸C++涓轟簡榪芥眰榪愯閫熷害鑰?0騫存潵鍧氬喅涓嶄簣琛ュ厖榪涘叾鏍囧噯銆傦紙棰樺璇濓細C++閫氳繃鍔犲ぇ寮鍙戦毦搴﹀幓鎹㈠彇鎵ц閫熷害鐨勫仛娉曪紝鍦ㄧ幇鍦ㄧ湅鏉ヤ笉鐭ユ槸鍚﹁兘緇欎笌姝i潰鐨勮瘎浠鳳紝榪樻槸鐣欑粰灝嗘潵鍐嶈鍚с傦級

  浠庢錛屽湪鍫嗕笂鐢寵浜嗗唴瀛樺繕浜嗛噴鏀俱佹墍閫犳垚鐨勫唴瀛樻硠闇茬殑闂灝變竴鐩村洶鎵扮潃C++紼嬪簭鍛樸備篃璁鎬負浜嗙◢璁稿譏琛ユ病鏈夊瀮鍦懼洖鏀跺櫒鎵閫犳垚鐨勫紑鍙戦棬妲涢珮錛屽悇澶у巶鍟嗗紑鍙戠殑C++搴撲腑閮藉儚COM瀛︿範寮曞叆鏅鴻兘鎸囬拡璇曞浘瑙e喅閮ㄥ垎鐩墠瀛樺湪鐨勯棶棰樸?br>
  鏅鴻兘鎸囬拡鏄瓨鍌ㄦ寚鍚戝姩鎬佸垎閰嶏紙鍫嗭級瀵硅薄鎸囬拡鐨勭被, 鐢ㄤ簬鐢熷瓨鏈熸帶鍒? 鑳藉紜繚鑷姩姝g‘鐨勯攢姣佸姩鎬佸垎閰嶇殑瀵硅薄錛岄槻姝㈠唴瀛樻硠闇層傚畠鐨勪竴縐嶉氱敤瀹炵幇鎶鏈槸浣跨敤寮曠敤璁℃暟(reference count)銆傛櫤鑳芥寚閽堢被灝嗕竴涓鏁板櫒涓庣被鎸囧悜鐨勫璞$浉鍏寵仈錛屽紩鐢ㄨ鏁拌窡韙綾繪湁澶氬皯涓璞″叡浜悓涓鎸囬拡銆傛瘡嬈″垱寤虹被鐨勬柊瀵硅薄鏃訛紝鍒濆鍖栨寚閽堝茍灝嗗紩鐢ㄨ鏁? 緗負1錛涘綋瀵硅薄浣滀負鍙︿竴瀵硅薄鐨勫壇鏈屽垱寤烘椂錛屾嫹璐濇瀯閫犲嚱鏁版嫹璐濇寚閽堝茍澧炲姞涓庝箣鐩稿簲鐨勫紩鐢ㄨ鏁幫紱瀵逛竴涓璞¤繘琛岃祴鍊兼椂錛岃祴鍊兼搷浣滅鍑忓皯宸︽搷浣滄暟鎵鎸囧璞$殑寮? 鐢ㄨ鏁幫紙濡傛灉寮曠敤璁℃暟涓哄噺鑷?錛屽垯鍒犻櫎瀵硅薄錛夛紝騫跺鍔犲彸鎿嶄綔鏁版墍鎸囧璞$殑寮曠敤璁℃暟錛涜皟鐢ㄦ瀽鏋勫嚱鏁版椂錛屾瀯閫犲嚱鏁板噺灝戝紩鐢ㄨ鏁幫紙濡傛灉寮曠敤璁℃暟鍑忚嚦0錛屽垯鍒犻櫎鍩? 紜瀵硅薄錛夈?br>
  璇村埌鏅鴻兘鎸囬拡錛屾垜浠竴瀹氳鐪嬬湅鏍囧噯C++搴撴彁渚涚殑“鎼炵瑧鐨?#8221;鏅鴻兘鎸囬拡:auto_ptr銆?br>
  鏍囧噯搴撲腑鎻愪緵浜咰++紼嬪簭鐨勫熀鏈鏂姐傝櫧鐒禖++鏍囧噯搴撻殢鐫C++鏍囧噯鎶樿吘浜嗚澶氬勾錛岀洿鍒版爣鍑嗙殑鍑哄彴鎵嶆寮忓畾鍨嬶紝緗戜笂璇勮C++鏍囧噯搴撴椂閮借錛?#8220;鍦ㄦ爣鍑嗗簱 鐨勫疄鐜頒笂鍗村緢浠や漢嬈f叞寰楃湅鍒板縐嶅疄鐜幫紝騫朵笖宸茶瀹炶返璇佹槑涓烘湁宸ヤ笟綰у埆寮哄害鐨勪匠浣溿?#8221;浣嗙洰鍓嶇殑鏍囧噯C++涓紝鍙湁涓縐嶇嫭鑻楁櫤鑳芥寚 閽堬細std::auto_ptr銆?br>
  auto_ptr鎸囬拡鏄竴涓猂AII瀵硅薄,瀹冨垵濮嬪寲鏃惰幏寰楄祫婧?鏋愭瀯鏃惰嚜鍔ㄩ噴鏀捐祫婧?鐢熷懡鏈熺粨鏉?.瀹冪殑緙虹偣鏁頒笉鑳滄暟錛?br> 1銆乤uto_ptr瑕佹眰涓涓璞″彧鑳芥湁涓涓嫢鏈夎咃紝涓ョ涓鐗╀簩涓?br> 2銆佺己灝戝寮曠敤鏁板拰鏁扮粍鐨勬敮鎸併?br> 3銆佷笉鍙皢auto_ptr瀵硅薄浣滀負STL瀹瑰櫒鐨勫厓绱犮侰++鏍囧噯鏄庣‘紱佹榪欐牱鍋氾紝鍚﹀垯鍙兘浼氱鍒頒笉鍙瑙佺殑緇撴灉銆傦紙榪欎竴鏉℃檿姝諱竴澶х墖錛夈?br>4銆乤uto_ptr鍦ㄨ澶嶅埗鐨勬椂鍊欎細浼犺緭鎵鏈夋潈

鍙嶆鐢辨鍙錛氭爣鍑嗗簱鐨勬櫤鑳芥寚閽堝氨鏄棤鐢氬ぇ鐢ㄣ?br>
    鍦ㄨ繖鏍風殑鎯呭喌涓嬶紝C++鏍囧噯濮斿憳浼氳嚜鐒墮渶瑕佽冭檻寮曞叆鏂扮殑鏅鴻兘鎸囬拡銆傜洰鍓嶇敱C++鏍囧噯濮斿憳浼氬簱宸ヤ綔緇勫彂璧風殑Boost 緇勭粐寮鍙戜簡Boost緋誨垪鏅鴻兘鎸囬拡銆?br>
  鍦˙oost涓殑鏅鴻兘鎸囬拡鏈変簲縐嶏細 scoped_ptr錛宻coped_array錛宻hared_ptr錛宻hared_array錛寃eak_ptr.

鍓?縐嶅畬鍏ㄦ槸閽堝鏍囧噯搴撲腑鐨刟uto_ptr鎻愬嚭瑙e喅鏂規錛屽錛歴cope_ptr鏄拡瀵?#8220;auto_ptr鍦ㄨ澶嶅埗鐨勬椂鍊欎細浼犺緭鎵鏈夋潈”榪欎竴寮辯偣鎻愬嚭鐨勩傛渶鍚庝竴縐嶆病瑙佽繃錛岀湅鍚嶅瓧鍍忔槸寮卞紩鐢ㄦ櫤鑳芥寚閽堬紝鎴戞鐤?span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=鏄笉鏄?,this.id)" style="border-bottom: 1px solid #fa891b; cursor: pointer;" id="rlt_3">鏄笉鏄?/span>綾諱技浜嶫AVA涓急寮曠敤涓鏍?鏈夊緟榪涗竴姝ュ涔犮?/div>

]]>[杞琞C++涓殑鎸囬拡--鏅鴻兘鎸囬拡http://m.shnenglu.com/yearner/archive/2008/11/09/66445.html(Leyn)欏戒富(Leyn)欏戒富Sun, 09 Nov 2008 12:37:00 GMThttp://m.shnenglu.com/yearner/archive/2008/11/09/66445.htmlhttp://m.shnenglu.com/yearner/comments/66445.htmlhttp://m.shnenglu.com/yearner/archive/2008/11/09/66445.html#Feedback0http://m.shnenglu.com/yearner/comments/commentRss/66445.htmlhttp://m.shnenglu.com/yearner/services/trackbacks/66445.htmlSmart Pointer鏄?a class="channel_keylink">C++涓殑涓涓ぇ棰樼洰錛岃璇存竻妤氫粬鐨勬墍鏈夊ソ澶勫緢闇瑕佽垂鐐瑰姏姘斻傛垜灝變竴涓姛鑳戒竴涓姛鑳界殑璇淬傛湁鎴戠悊瑙d笉閫忕殑鍦版柟甯屾湜澶у鎸囩偣銆?br>
1.copy-to-write
褰撶敓鎴愪竴涓?a class="channel_keylink">C++ object鐨勬椂鍊欏鏋滆繖涓猚lass寰堝ぇ錛岃繖涓猳bject浼氬崰鐢ㄥ緢澶氱┖闂淬傞偅涔堟瘡鐢熸垚涓涓氨鍗犵敤涓鐗囩┖闂達紝榪欐牱浼氬崰鐢ㄥ緢澶氱郴緇熻祫婧愩傚悓鏃墮檷浣庢晥鐜囥備竴涓В鍐蟲柟娉曞氨鏄鐢ㄦ嫹璐濇瀯閫?a class="channel_keylink">鍑芥暟鐢熸垚鐨刼bject錛岃浠栦笉瀛樺偍鏁版嵁錛岃屽彧瀛樺偍涓涓寚鍚戝師鏉bject鏁版嵁鐨?a class="channel_keylink">鎸囬拡銆?榪欐牱絀洪棿灝辮妭鐪佷簡寰堝銆備絾闂鍦ㄤ簬榪欐牱涓や釜object瀹屽叏鑱旂粨鍦ㄤ簡涓璧楓傚鏋滀慨鏀逛簡鍏朵腑涓涓紝鍙︿竴涓篃璺熺潃鍙樹簡銆傛墍浠ヨ繖縐嶆柟娉曚笉鍙彇銆傝繖閲岃鐨?copy-to-write鎶鏈氨鏄В鍐寵繖綾婚棶棰樼殑鏂規硶銆傚綋閫氳繃寮曠敤涓涓凡鏈塷bject鍘繪嫹璐濇瀯閫犳柊object鏃訛紝鏂皁bject鍙湁涓涓寚鍚戝凡鏈?object鐨?a class="channel_keylink">鎸囬拡銆? 榪欎袱涓猳bject鍏變韓鏁版嵁銆傜洿鍒板叾涓竴涓渶瑕佷慨鏀規暟鎹殑鏃跺欙紝鍐嶆妸榪欎袱鍧楁暟鎹垎紱匯傝繖閲屼婦涓涓渶綆鍖栫殑渚嬪瓙銆傚亣璁句竴涓猚lass鍙? CLargeObject錛岄噷闈㈠瓨鏈夊緢澶氭暟鎹傛垜浠敤涓涓猧nner class鏉ユ妸鎵鏈夋暟鎹斁鍦ㄤ竴璧鳳紝鍙獵Data銆侰Data閲岄潰瀛樻湁澶ч噺鏁版嵁錛屼緥濡備竴涓?a class="channel_keylink">鏁版嵁搴?/a>銆傝繖閲岀敤鏈綆鍗曠殑妯″瀷鏉ヨ〃紺猴紝鍋囪鍙湁涓涓暣鏁癷nt m_nVal; CData閲岄潰闇瑕佸寘鍚彟涓涓彉閲忋傚彨浣滅儲寮曟暟鐩?reference count)銆傚畠璁板綍浜嗘寚鍚戣繖涓狢Data object鐨勬潵鑷狢LargetObject綾葷殑鎸囬拡鍚勬暟銆備篃灝辨槸璇達紝鎬誨叡鏈夊灝慍LargeObject鐨刼bject姝e湪寮曠敤鐫褰撳墠鐨凜Data object銆?br>
class CLargeObject
{
private:
    struct CData
    {
    private:
        int m_nVal;
        int m_nReferenceCount;
    }
};

瀵逛簬姣忎釜CLargeObject鐨刼bject錛屾垜浠敤涓涓狢Data綾葷殑鎸囬拡鏉ユ寚鍚戝叾鏁版嵁銆?br>CData *m_pData;

CLargeObject鑷沖皯鏈変袱涓瀯閫?a class="channel_keylink">鍑芥暟銆傜涓涓槸鏍囧噯鐨勬瀯閫?a class="channel_keylink">鍑芥暟錛屽垵濮嬪寲鍏舵暟鎹傝繖鏃舵暟鎹槸鍞竴鐨勶紝鎵浠ュ繀欏繪柊鐢熸垚涓涓狢Data鐨刼bject鏉ュ瓨鍌ㄦ暟鎹?br>CLargeObject::CLargeObject(int nVal)
{
    m_pData = new Data(nVal);
}
鑰屽浜嶤Data綾葷殑鏋勯?a class="channel_keylink">鍑芥暟鑰岃█錛屽垵濮嬪寲浠栫殑CLargeObject鏄涓涓寚鍚戜粬鐨勶紝榪欎竴鏃跺埢绱㈠紩鏁扮洰m_nReferenceCount鏄?銆?br>CLargeObject::Data::Data(int nVal) : m_nVal(nVal), m_nReferenceCount(1) {}

CLargeObject鐨勭浜屼釜鏋勯?a class="channel_keylink">鍑芥暟鏄嫹璐濇瀯閫?copy constructor)銆傝繖鏍風敓鎴愮殑object涓嶉渶瑕佹湁鏂扮殑鏁版嵁錛屽拰宸叉湁鐨刼bject鍏變韓鏁版嵁灝卞彲浠ヤ簡銆傝繖鏄儲寮曟暟鐩渶瑕佸姞1銆傝〃紺哄張鏈変竴涓猳bject鎸囧悜褰撳墠鐨凜Data浜嗐?br>CLargeObject::CLargeObject(const CLargeObject &ob) // copy constructor
{
    ob.m_pData->m_nReferenceCount++;
    m_pData = ob.m_pData;
}


榪欐牱CLargeObject灝辨瀯閫犲ソ浜嗭紝浣跨敤浜嗗彲鑳界殑鏈灝戠殑鍐呭瓨銆備笅闈㈢湅鐪嬩粬鐨勬瀽澶?a class="channel_keylink">鍑芥暟(destructor)銆傚綋涓涓猳bject琚玠elete鐨勬椂鍊欙紝瀹冪殑鏁版嵁涓嶄竴瀹氭棤鏁堬紝濡傛灉鍒殑object榪樺湪寮曠敤鐫榪欎釜鏁版嵁錛屾暟鎹渶瑕佺暀涓嬫潵銆傚綋鐒訛紝鏁版嵁鐨勭儲寮曟暟鐩棤璁哄浣曢兘瑕佸噺1銆?br>CLargeObject::~CLargeObject()
{
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
}

涓嬮潰鐪嬩竴鐪嬭祴鍊兼搷浣溿傚厛璇寸敤宸叉湁鐨凜LargeObject璧嬪肩粰榪欎釜CLargeObject銆傝繖鏃跺綋鍓岰LargeObject閲岄潰鐨勬暟鎹鎸囧悜宸叉湁鐨勮繖涓猳bject錛屽氨鎼炲畾浜嗐?br>CLargeObject& CLargeObject::operator = (const CLargeObject& ob)    // copy assignment
{
    ob.m_pData->m_nReferenceCount++;
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
    m_pData = ob.m_pData;

    return *this;
}

鍐嶆潵鐪嬬湅濡備綍瀵笴LargeObject閲岄潰鐨勬暟鎹繘琛岀湡姝g殑淇敼銆傝繖鏍峰氨涓瀹氶渶瑕佸褰撳墠鐨刼bject鐙珛鎿嶄綔浜嗭紝鍚﹀垯灝卞獎鍝嶅埌浜嗗叾瀹冩寚鍚戝悓涓鍧楁暟鎹殑CLargeObject銆傝繖鏍稢Data綾婚渶瑕佷竴涓柊鐨?a class="channel_keylink">鍑芥暟錛岀敓鎴愬彧鐢ㄤ簬褰撳墠CLargetObject鐨勬暟鎹傚鏋滃綋鍓嶇殑寮曠敤鏁扮洰鏄?錛岄偅涔堝綋鐒惰繖涓狢Data灝辨槸鍙敤浜庤繖涓狢LargeObject鐨勪簡銆傚惁鍒欏氨閲嶆柊new涓涓狢Data榪斿洖銆?br>        Data* CLargeObject::CData::get_own_copy()    // clone if necessary
        {
            if (m_nReferenceCount==1)
                return this;
            m_nReferenceCount--;
            return new Data(m_nVal);
        }
CLargeObject淇敼鍓嶇敤榪欎釜鍑芥暟寰楀埌鍞竴鐨刼bject錛岀劧鍚庡瀹冭祴鍊箋?br>void CLargeObject::SetVal(int nNewVal)
{
    m_pData = m_pData->get_own_copy();
    m_pData->m_nVal = nNewVal;
}
瀵逛簬鎵鏈夊彲鑳芥敼鍙楥Data鍊肩殑鎿嶄綔錛岄兘闇瑕佺敤榪欑鏂規硶銆?br>
涓嬮潰鏄彧璇?a class="channel_keylink">鍑芥暟錛岀畝鍗曘傜洿鎺ヨ繑鍥炲鹼紝浠涔堢壒孌婄殑閮戒笉鐢ㄤ綔銆?br>int CLargeObject::GetVal() const
{
    return m_pData->m_nVal;
}


榪欐牱copy-to-write鎶鏈氨瀹炵幇浜嗐備笅闈㈡妸瀹屾暣鐨勭▼搴忓啓涓涓嬶細
class CLargeObject
{
public:
    CLargeObject(int nVal);
    CLargeObject(const CLargeObject &ob);
    ~CLargeObject();

    CLargeObject& operator = (const CLargeObject& ob);
    void SetVal(int nNewVal);
    int GetVal() const;
private:
    struct Data
    {
    public:
        Data(int nVal) : m_nVal(nVal), m_nReferenceCount(1) {}
    private:
        friend class CLargeObject;
        Data* get_own_copy()    // clone if necessary
        {
            if (m_nReferenceCount==1)
                return this;
            m_nReferenceCount--;
            return new Data(m_nVal);
        }

        // control variables.
        int m_nReferenceCount;
    
        // actual data portion
        int m_nVal;
    };

    Data *m_pData;
};

CLargeObject::CLargeObject(int nVal)
{
    m_pData = new Data(nVal);
}

CLargeObject::CLargeObject(const CLargeObject &ob) // copy constructor
{
    ob.m_pData->m_nReferenceCount++;
    m_pData = ob.m_pData;
}

CLargeObject::~CLargeObject()
{
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
}

CLargeObject& CLargeObject::operator = (const CLargeObject& ob)    // copy assignment
{
    ob.m_pData->m_nReferenceCount++;
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
    m_pData = ob.m_pData;

    return *this;
}

void CLargeObject::SetVal(int nNewVal)
{
    m_pData = m_pData->get_own_copy();
    m_pData->m_nVal = nNewVal;
}

int CLargeObject::GetVal() const
{
    return m_pData->m_nVal;
}


寰堝瀛樺偍鏁版嵁鐨勭郴緇焎lass錛屽string錛孋String絳夐兘鏈夎繖縐嶈璁°傛墍浠ヨ浣忚繖涓簲鐢ㄦ槸寰堟湁蹇呰鐨勩?/p>

]]>
[杞琞鍒╃敤Rational Rose榪涜C++浠g爜鍜屾暟鎹簱緇撴瀯鍒嗘瀽http://m.shnenglu.com/yearner/archive/2008/10/28/65350.html(Leyn)欏戒富(Leyn)欏戒富Tue, 28 Oct 2008 09:36:00 GMThttp://m.shnenglu.com/yearner/archive/2008/10/28/65350.htmlhttp://m.shnenglu.com/yearner/comments/65350.htmlhttp://m.shnenglu.com/yearner/archive/2008/10/28/65350.html#Feedback1http://m.shnenglu.com/yearner/comments/commentRss/65350.htmlhttp://m.shnenglu.com/yearner/services/trackbacks/65350.html 鍒╃敤Rational Rose榪涜C++浠g爜鍜屾暟鎹簱緇撴瀯鍒嗘瀽
鐢?闇囨澃, IBM 涓浗杞歡寮鍙戜腑蹇冭蔣浠跺伐紼嬪笀

鏈枃鍐呭鍖呮嫭:
涓錛嶳ational Rose閫嗗悜宸ョ▼浠嬬粛
浜岋紟濡備綍鐢≧ational Rose榪涜C++浠g爜鍒嗘瀽
涓夛紟濡備綍鐢≧ational Rose榪涜鏁版嵁搴撶粨鏋勫垎鏋?/font>
鍥涳紟濡備綍寰楀埌閫嗗悜宸ョ▼鐨勬ā鍨嬪浘
浜旓紟鎬葷粨
娉ㄩ噴

銆Rational Rose鏄埄鐢║ML錛堢粺涓寤烘ā璇█錛夎繘琛屽垎鏋愬拰璁捐闈㈠悜瀵硅薄杞歡緋葷粺鐨勫己澶х殑鍙鍖栧伐鍏鳳紝鍙互榪涜欏圭洰闇姹傚垎鏋愩佺粨鏋勮鍒掑拰鐢熸垚妗嗘灦浠g爜錛岃繕鍙互鏀寔浠庣幇鏈夌郴緇熼嗗悜杞嚭宸ョ▼浠g爜錛岀敓鎴怰ose妯″瀷鐨勫姛鑳姐?br>2004騫?0鏈堬紝IBM鎺ㄥ嚭浜嗘敮鎸佹渶鏂扮殑UML2.0鐨勫彲瑙嗗寲寤烘ā宸ュ叿 Rational Software Architect錛堣娉ㄩ噴鈶狅級 鍜孖BM Rational Software Modeler錛堣娉ㄩ噴鈶★級銆傝櫧鐒跺畠浠敮鎸佸湪寤烘ā鍔熻兘涓婃湁浜嗘洿濂界殑鏀硅繘銆佹敮鎸佷簡鏇存柊鐨勬爣鍑嗭紝浣嗘槸RSA鐨勭簿褰╁姛鑳戒富瑕佹槸闆嗕腑鍦ㄥJava搴旂敤鐨勬敮鎸侊紝鑰孖BM Rational Software Modeler鍒欐槸涓昏鍏蟲敞緋葷粺鐨勬ā鍨嬭璁★紝濡傛灉瑕佷粠緇撴瀯涓婂垎鏋怌++緙栧啓鐨勭郴緇熺殑浠g爜錛孯ational Rose榪樻槸棣栭夌殑宸ュ叿銆?/p>

鎺ヤ笅鏉ョ殑鏂囩珷灝嗕細瀵瑰浣曞埄鐢≧ational Rose 鐨勯嗗悜杞嚭宸ョ▼鏉ヨ繘琛岀郴緇熷垎鏋愯繘琛屾洿鍔犺緇嗗湴闃愯堪銆?/p>

涓錛嶳ational Rose閫嗗悜宸ョ▼浠嬬粛

閫嗗悜宸ョ▼錛圧everse Engineer錛夊氨鏄粠鐜版湁緋葷粺鐨勪唬鐮佹潵鐢熸垚妯″瀷鐨勫姛鑳姐傚垎鏋愬凡鏈夌殑浠g爜鍏朵富瑕佺殑鐩殑灝辨槸浜嗚В浠g爜緇撴瀯鍜屾暟鎹粨鏋勶紝榪欎簺瀵瑰簲鍒版ā鍨嬪浘灝辨槸綾誨浘銆佹暟鎹ā鍨嬪浘鍜岀粍浠跺浘錛堝UML鍚勭妯″瀷鍥劇殑鎻忚堪瑙佹敞閲娾憿錛夛紝涔熷氨鏄氳繃Rational Rose鐨勯嗗悜宸ョ▼鎵寰楀埌鐨勭粨鏋溿俁ational Rose鎵鏀寔鐨勯嗗悜宸ョ▼鍔熻兘寰堝己澶э紝鍖呮嫭鐨勭紪紼嬭璦鏈塁++, VB, VC, Java, CORBA錛屼互鍙婃暟鎹簱DDL鑴氭湰絳夌瓑錛屽茍涓斿彲浠ョ洿鎺ヨ繛鎺B2, SQLServer, Oracle鍜孲ybase絳夋暟鎹簱瀵煎叆Schema騫剁敓鎴愭暟鎹ā鍨嬨?/p>

寰堝澶у瀷鐨凜++寮鍙戠殑浜у搧閮芥秹鍙婂埌鏁版嵁搴撶殑浣跨敤錛屽榪欑澶у瀷緋葷粺鐨勫紑鍙戯紝灝ゅ叾鏄仛浜屾寮鍙戠殑鎯呭喌涓嬶紝涓昏鐨勯毦鐐瑰氨鏄婧愮爜鍜屾暟鎹簱緇撴瀯鐨勫垎鏋愩傝屽埄鐢≧ose鐨勯嗗悜宸ョ▼榪欎竴鍔熻兘錛屽氨鍙互瀹屾垚浠g爜'綾誨浘浠ュ強鏁版嵁搴揝chema->鏁版嵁妯″瀷鍥劇殑杞崲錛岃В鍐寵繖涓ゅぇ闅劇偣錛屽彲浠ヤ嬌寮鍙戝拰璁捐浜哄憳鍦ㄥ榪欑澶у瀷緋葷粺鐨勫崌綰с佸垎鏋愬拰寮鍙戜腑錛屾洿涓烘柟渚褲佸揩鎹楓佹湁鏉$悊鍦版帉鎻$郴緇熺粨鏋勶紝涓嶇敤鍐嶄負鍒嗘瀽搴炲ぇ鐨勭郴緇熺粨鏋勮屽ご鐤箋?/p>

浜岋紟濡備綍鐢≧ational Rose榪涜C++浠g爜鍒嗘瀽

榪欎竴鑺備富瑕佷粙緇嶇敤鎴峰浣曚嬌鐢≧ose鐨勯嗗悜宸ョ▼鐢熸垚UML妯″瀷錛屽茍鐢ㄦ潵榪涜C++浠g爜鐨勭粨鏋勫垎鏋愩?/p>

Rational Rose鍙互鏀寔鏍囧噯C++鍜孷isual C++鐨勬ā鍨嬪埌浠g爜鐨勮漿鎹互鍙婇嗗悜宸ョ▼銆備笅闈㈠皢璇︾粏鍦拌鏄庤繖涓ょC++ project鐨勯嗗悜宸ョ▼鐨勬楠ゅ拰鍏蜂綋鎿嶄綔銆?/p>

1錛?ANSI C++錛堟爣鍑咰++錛夐嗗悜宸ョ▼錛圧everse Engineer錛変嬌鐢ㄦ爣鍑咰++閫嗗悜宸ョ▼錛岄渶瑕佸湪緇勪歡鍥撅紙component view錛変腑鍒涘緩涓涓粍浠訛紙component錛夛紝璁劇疆濂介渶瑕佽繘琛岃漿鎹㈢殑緇勪歡鐨勪俊鎭紝涔熷氨鏄緇勪歡鐨勮璦銆佹墍鍖呭惈鐨勬枃浠躲佹枃浠舵墍鍦ㄧ殑璺緞銆佹枃浠跺悗緙絳夌瓑淇℃伅錛岀劧鍚嶳everse Engineer灝卞彲浠ユ牴鎹粰瀹氱殑淇℃伅灝嗕唬鐮佽漿鎹㈡垚綾誨浘浜嗐?/p>

a) 鍙抽敭鐐瑰嚮緇勪歡瑙嗗浘錛圕omponent View錛夛紝閫夋嫨New->Component錛屽垱寤轟竴涓柊鐨勭粍浠?br>銆

銆b) 灝哻omponent鐨刲anguage灞炴ц瀹氫負ANSI C++

鈶犻変腑鍒涘緩鐨刢omponent錛岀偣鍑誨彸閿紝閫変腑Open Specification

鈶″湪榪欎釜瀵硅瘽妗嗕腑灝嗚component鐨刲anguage璁懼畾涓篈NSI C++


c) 閰嶇疆璇NSI C++ component錛岃緗ソ璇omponent涓寘鍚殑C++浠g爜鏂囦歡錛屽茍榪涜C++璇█鐨勮緇嗚緗?/p>

鈶犻変腑璇omponent錛岀偣鍑誨彸閿紝閫夋嫨ANSI C++->Open ANSI C++ Specification


鈶℃妸Source file root directory璁懼畾涓轟綘鐨凜++婧愮爜鏂囦歡鎵鍦ㄧ殑璺緞錛屽茍涓斿皢闇瑕佽漿鎹㈢殑鏂囦歡娣誨姞鍒癙roject Files涓紝瑙嗕綘鐨勯渶瑕佹潵鍋氬叾瀹冪殑璁懼畾錛屾瘮濡傦細澶存枃浠舵墿灞曞悕絳夌瓑銆?/p>

d) 灝嗚緗ソ鐨刢omponent杞崲鎴愭ā鍨嬪浘

鈶犻変腑璁劇疆濂界殑component錛岀偣鍑誨彸閿紝閫変腑ANSI C++->Reverse Engineer



銆鈶¢変腑闇瑕佽漿鎹㈢殑class錛岀偣鍑籵k錛屼竴涓猚omponent鐨勯嗗悜杞崲灝卞畬鎴愪簡銆?/p>



銆2錛?Visual C++ 鍦ㄤ嬌鐢ㄨ繖涓姛鑳界殑鏃跺欙紝瑕佹眰鐢ㄦ埛鐨勬満鍣ㄤ笂鍚屾椂瀹夎Visual Studio銆俈isual C++鐨勯嗗悜宸ョ▼涔熼渶瑕侀鍏堝垱寤轟竴涓猚omponent錛屽茍灝嗚component鐨刲anguage灞炴ц緗負VC++銆俁ational Rose瀵筕C++妯″瀷鐨勮漿鎹㈡槸閫氳繃璇誨彇VC++ Project File鐨勪俊鎭潵瀹炵幇鐨勶紝鐢ㄦ埛鍙渶瑕佸皢瀵瑰簲鐨刾roject file淇℃伅鎸囧畾緇檆omponent灝卞彲浠ヤ簡銆?/p>

a) 灝哣C++ Project鐨勪俊鎭祴緇欏垰鍒氬垱寤哄ソ鐨刢omponent銆?/p>

鈶犻夋嫨璇omponent錛岀偣鍑誨彸閿紝閫夋嫨Assign To Project


鈶″湪瀵硅瘽妗嗕腑鎵懼埌鍒氬垰鍒涘緩鐨刢omponent錛屽彸閿偣鍑誨茍閫夋嫨Properties銆?/p>


鈶㈠湪涓嬮潰瀵硅瘽妗嗕腑閫変腑闇瑕佽繘琛岃漿鎹㈢殑Project錛岀偣鍑籵k錛岃component灝變笌闇瑕佽漿鎹㈢殑project鍏寵仈涓婁簡銆?/p>



銆b) 灝嗚緗ソ鐨刢omponent杞崲鎴愭ā鍨嬪浘

閫変腑璁劇疆濂界殑component錛岀偣鍑誨彸閿紝Update Model…錛屽皢浼氬脊鍑虹‘璁ゅ璇濇錛岄変腑闇瑕佽漿鎹㈢殑class錛岀偣鍑籪inish灝卞彲浠ヤ簡銆?/p>


涓夛紟濡備綍鐢≧ational Rose榪涜鏁版嵁搴撶粨鏋勫垎鏋?/strong>

鍒╃敤Rational Rose鍙互榪涜鍏崇郴鏁版嵁搴撶殑鏁版嵁妯″瀷璁捐騫跺鍑篋DL璇█鑴氭湰錛岀浉鍙嶈繕鍙互瀵煎叆宸叉湁鐨凞DL鑴氭湰鐢熸垚鏁版嵁妯″瀷浠ュ強榪炴帴SQLServer, DB2, Oracle絳夋暟鎹簱騫跺鍏ユ暟鎹簱鐨剆chema鐢熸垚鏁版嵁妯″瀷銆?/p>

涓嬮潰浠QL Server涓轟緥璇存槑涓涓嬮嗗悜杞崲宸ョ▼鐨勬楠ゃ?/p>

a) 棣栧厛錛岄夋嫨Tools->Data Modeler-> Reverse Engineer



銆b) 鍦ㄨ繘琛岄嗗悜宸ョ▼杞崲鐨勮繃紼嬩腑鍙互閫夋嫨鏄粠鏁版嵁搴撹繕鏄疍DL鑴氭湰榪涜杞崲錛屽鏋滄槸DDL鑴氭湰杞崲錛屽氨鐩存帴緇欏畾DDL鑴氭湰鏂囦歡浣嶇疆灝卞彲浠ヤ簡銆傛湰渚嬪瓙緇欏嚭鐨勬槸榪炴帴SQLServer鏁版嵁搴撳皢schema瀵煎叆鐢熸垚鏁版嵁妯″瀷鐨勮繃紼嬶紝鎵浠ラ変腑Database錛岃繘鍏ヤ笅涓姝ャ?/p>



銆c) 濉啓鏁版嵁搴撶浉鍏充俊鎭?/p>



銆d) 閫変腑鎵鏈夐渶瑕佽漿鎹㈢殑schema



銆e) 閫夋嫨闇瑕佸皢鍝簺鏁版嵁搴撲腑鐨勫厓绱犲鍏ュ埌鏁版嵁妯″瀷涓?br>

杞崲鎿嶄綔浼氳嚜鍔ㄥ湪緇勪歡鍥撅紙Component View錛変腑娣誨姞鏁版嵁搴撶粍浠訛紝騫跺湪閫昏緫鍥撅紙Logical View錛変腑鐢熸垚浠ャ奡chema銆嬩綔涓哄懡鍚嶅紑澶寸殑鏁版嵁妯″瀷銆?/p>



銆鎵撳紑鏁版嵁妯″瀷錛屽彲浠ョ湅鍒頒粠鏁版嵁搴撲腑杞崲榪囨潵鐨勫悇涓〃鍜岃鍥俱?/p>



銆浠庢暟鎹ā鍨嬪浘涓彲浠ョ湅鍒拌〃鐨勭粨鏋勪互鍙婂悇涓〃鍜岃鍥句箣闂寸殑閫昏緫鍏崇郴銆?/p>

鍥涳紟濡備綍寰楀埌閫嗗悜宸ョ▼鐨勬ā鍨嬪浘

鍦≧ational Rose涓紝鏈変簺妯″瀷鍥炬槸涓嶄細鑷姩鐢熸垚鐨勶紝寰堝鏃跺欒繖涓伐浣滈渶瑕佺敤鎴鋒墜宸ユ潵瀹屾垚銆備篃灝辨槸璇達紝Rational Rose鍙礋璐g敓鎴愭ā鍨嬶紝鍖呮嫭妯″瀷涓殑鍏冪礌銆佸厓绱犵殑灞炴т互鍙婂悇涓厓绱犱箣闂寸殑鍏崇郴錛屼絾鏄渶瑕佺敤鎴峰仛涓浜涢澶栫殑宸ヤ綔鏉ュ緱鍒拌鍥俱?/p>

棣栧厛錛岄氳繃閫嗗悜宸ョ▼錛岀敤鎴峰凡緇忓緱鍒頒簡UML妯″瀷鎴栬呮暟鎹ā鍨嬬殑鍚勪釜緇勪歡浠ュ強瀹冧滑涔嬮棿鐨勫叧緋匯?涓嬩竴姝ラ渶瑕佸湪璇ユā鍨嬩笂鍒涘緩涓涓鍥撅紝瀹冧滑鍙互鏄被鍥撅紙class diagram錛屾弿榪扮郴緇熺殑闈欐佺粨鏋勶級鎴栬呮暟鎹ā鍨嬪浘錛圖ata model digram錛屾弿榪板叧緋繪暟鎹粨鏋勶級銆傜劧鍚庯紝鎵嬪姩浠庡乏杈圭殑explorer涓皢鍚勪釜鍏冪礌鎷栬繘瑙嗗浘涓紝鍦ㄨ繖涓繃紼嬩腑錛屽悇涓厓绱犱箣闂寸殑鍏寵仈鍏崇郴浼氳嚜鍔ㄥ湪鍥句腑琛ㄧず鍑烘潵錛岃屼笉闇瑕佺敤鎴峰啀鍋氬叾浠栧伐浣溿?/p>

渚嬪錛氱敓鎴愪竴涓暟鎹ā鍨嬬殑鏁版嵁妯″瀷鍥劇殑榪囩▼

浠庡乏杈瑰皢鏁版嵁妯″瀷涓殑鏁版嵁鍏冪礌鎷栧埌鍙寵竟鐨勬暟鎹ā鍨嬪浘涓紝琛–ustomerCustomerDemo鍜岃〃CustomerDemographics涔嬮棿鐨勪緷璧栧叧緋葷殑鑿卞艦綆ご鏄嚜鍔ㄧ敓鎴愮殑錛屾棤闇鎵嬪伐鎿嶄綔銆?/p>


涓鑸潵璇達紝涓涓郴緇熶腑鎵娑夊強鐨勬暟鎹厓绱犻潪甯稿錛屽鑷磋鍥懼緢鎷ユ尋錛屾帓鐗堜篃闈炲父鍥伴毦銆俁ational Rose鎻愪緵鐨勮嚜鍔ㄦ帓鐗堝姛鑳藉彲浠ュ緢鏂逛究鍦板府鍔╃敤鎴瘋В鍐寵繖涓棶棰樸?/p>

閫夋嫨Format->Layout Diagram錛岀郴緇熶細灝嗗浘涓殑鎵鏈夊厓绱犵敤鏈浼樻柟寮忛噸鏂版帓鍒楋紝緇欑敤鎴蜂竴涓竻鏅扮殑瑙嗗浘銆?/p>



浜旓紟鎬葷粨

浜嗚В浜哛ational Rose鐨勯嗗悜宸ョ▼鍔熻兘錛岀敤鎴峰氨鍙互鏂逛究鍦板埄鐢ㄨ繖涓宸ュ叿榪涜澶у瀷鏁版嵁搴撶浉鍏崇殑C++緋葷粺鐨勫垎鏋愬拰鐮旂┒浜嗐?/p>

娉ㄩ噴

鈶營BM Rational Software Architect鏄竴涓泦鎴愬紡璁捐鍜屽紑鍙戝伐鍏鳳紝浣跨敤鎴峰彲浠ョ敤UML妯″瀷椹卞姩鐨勫紑鍙戞柟寮忓紑鍙戝嚭緇撴瀯娓呮櫚鐨勫簲鐢ㄧ▼搴忓拰鏈嶅姟銆?/p>

鈶BM Rational Software Modeler鏄熀浜嶶ML2.0鐨勫彲瀹氬埗鐨勫彲瑙嗗寲寤烘ā鍜岃璁″伐鍏鳳紝閬靛驚瀹冩墍鎻愪緵鐨勫伐浣滄祦紼嬶紝鍙互浣垮緱緋葷粺璁捐甯堬紝緋葷粺鍒嗘瀽甯堬紝璁捐浜哄憳絳夊啓鍑烘洿涓烘竻鏅扮殑鏂囨。錛屾洿涓烘湁鏁堝湴榪涜娌熼氬拰璁捐宸ヤ綔銆?/p>

鈶ML鎻愪緵鐨勫悇縐嶇被鍨嬬殑妯″瀷鎻忚堪鍥?/p>

鐢ㄤ緥鍥?Use Case Diagram)錛氭弿榪扮郴緇熸彁渚涚殑涓涓姛鑳藉崟鍏冿紝涓昏鐩殑鏄府鍔╁紑鍙戝洟闃熶互涓縐嶅彲瑙嗗寲鐨勬柟寮忕悊瑙g郴緇熺殑鍔熻兘闇姹傦紝鍖呮嫭鍩轟簬鍩烘湰嫻佺▼鐨?瑙掕壊"錛坅ctors錛屼篃灝辨槸涓庣郴緇熶氦浜掔殑鍏朵粬瀹炰綋錛夊叧緋伙紝浠ュ強緋葷粺鍐呯敤渚嬩箣闂寸殑鍏崇郴銆?/p>

搴忓垪鍥?Sequence Diagram)錛氭樉紺哄叿浣撶敤渚嬶紙鎴栬呮槸鐢ㄤ緥鐨勪竴閮ㄥ垎錛夌殑璇︾粏嫻佺▼銆?/p>

鐘舵佸浘(Statechart Diagram)錛氳〃紺烘煇涓被鎵澶勭殑涓嶅悓鐘舵佸拰璇ョ被鐨勭姸鎬佽漿鎹俊鎭?/p>

媧誨姩鍥?Activity Diagram)錛氳〃紺哄湪澶勭悊鏌愪釜媧誨姩鏃訛紝涓や釜鎴栬呮洿澶氱被瀵硅薄涔嬮棿鐨勮繃紼嬫帶鍒舵祦銆?/p>

綾誨浘(Class Diagram)錛氳〃紺轟笉鍚岀殑瀹炰綋錛堜漢銆佷簨鐗╁拰鏁版嵁錛夊浣曞郊姝ょ浉鍏籌紱鎹㈠彞璇濊錛屽畠鏄劇ず浜嗙郴緇熺殑闈欐佺粨鏋勩?/p>

緇勪歡鍥?Component Diagram)錛氭彁渚涚郴緇熺殑鐗╃悊瑙嗗浘銆傜粍浠訛紙Component錛夎〃紺烘ā鍨嬩唬鐮佸簱銆佹墽琛屽簱鍜屽叾瀹冪粍浠剁殑淇℃伅銆傜粍浠舵槸浠g爜鐨勫疄闄呮ā鍧楋紝緇勪歡鍥句富瑕佺敤鎴鋒槸璐熻矗鎺у埗浠g爜鍜岀紪璇戦儴緗插簲鐢ㄧ▼搴忕殑浜恒傛湁浜涚粍浠舵槸浠g爜搴擄紝鏈変簺緇勪歡鏄繍琛岀粍浠訛紝濡傛墽琛屾枃浠舵垨鍔ㄦ侀摼鎺ュ簱錛圖LL錛夋枃浠躲傦級

閮ㄧ講鍥?Deployment View)錛氳〃紺鴻杞歡緋葷粺濡備綍閮ㄧ講鍒扮‖浠剁幆澧冧腑銆?/p>

鏁版嵁妯″瀷鍥?Data Model Diagram)錛氭弿榪板叧緋繪暟鎹粨鏋勩?/p>



]]>
COM 瀛︿範絎旇(2)-寮曠敤璁℃暟http://m.shnenglu.com/yearner/archive/2008/10/08/63500.html(Leyn)欏戒富(Leyn)欏戒富Wed, 08 Oct 2008 13:57:00 GMThttp://m.shnenglu.com/yearner/archive/2008/10/08/63500.htmlhttp://m.shnenglu.com/yearner/comments/63500.htmlhttp://m.shnenglu.com/yearner/archive/2008/10/08/63500.html#Feedback0http://m.shnenglu.com/yearner/comments/commentRss/63500.htmlhttp://m.shnenglu.com/yearner/services/trackbacks/63500.html COM鎺ュ彛閲囩敤寮曠敤璁℃暟鏉ユ帶鍒剁粍浠剁殑鐢熷懡鍛ㄦ湡銆?br> 涓昏鐢ˋddRef ,Release 鏉ヨ繘琛屽唴瀛樼鐞嗭紝褰撳鎴蜂粠緇勪歡涓彇寰椾竴涓帴鍙f椂錛屾寮曠敤璁℃暟鍊煎皢澧?銆傚綋瀹㈡埛浣跨敤瀹屾煇涓帴鍙e悗錛岀粍浠剁殑寮曠敤璁℃暟鍊煎皢鍑?銆?br> 褰撳紩鐢ㄨ鏁板間負0鏃訛紝緇勪歡鍗沖彲灝嗚嚜宸變粠鍐呬粠涓垹闄ゃ?br> 
 (1)姝g‘浣跨敤寮曠敤璁℃暟鐨勪笁鏉$畝鍗曞師鍒?
   1)鍦ㄨ繑鍥炰箣鍓嶈皟鐢ˋddRef.
   2)浣跨敤瀹屾帴鍙e悗璋冪敤Release.
   3)鍦ㄨ祴鍊間箣鍚庤皟鐢ˋddRef(鎸囬拡澶嶅埗).
  鍩烘湰鍘熷垯鏄伩鍏嶅湪浣跨敤緇勪歡鏃訛紝緇勪歡宸茶鍒犻櫎銆?br>  QueryInterface 鍜孋reateInstance涓凡緇忚皟鐢ㄤ簡AddRef,鍥犳涓嶅繀鍐嶈皟鐢ㄥ畠銆?br>  浣嗕袱鑰呰繑鍥炵殑IUnknow鎺ュ彛鍜屼竴鑸帴鍙o紝鐢ㄥ畬鍚庨兘闇瑕佽皟鐢≧elease鏉ラ噴鏀俱?br>  涓鑸岃█錛屾瘡褰撳鍒朵竴涓帴鍙g殑鎸囬拡鏃訛紝閮藉簲璇ョ浉搴旂殑澧炲姞寮曠敤璁℃暟銆?br>   IUnknown* pIUnknown=CreateInstance();
   IX * pIX=NULL;
   HRESULT hr= pIUnknown->QueryInterface(IID_IX,(void **)&pIX);
   pIUnknown->Release();
   if(SUCCEEDED(hr))
   {
    pIX->Fx();    //Fx()涓哄姛鑳藉嚱鏁?br>    IX * pIX2=pIX;   //澶嶅埗鎸囬拡錛屽嵆澧炲姞浜嗕竴涓嬌鐢ㄧ粍浠?鐨勬帴鍙?鐨勫彲鑳斤紝
    pIX2->AddRef();  //鎵浠ヨ澧炲姞璁℃暟錛屽茍鍦ㄤ嬌鐢ㄥ畬涔嬪悗release
    pIX2->Fx();     
    pIX2->Release(); //
    pIX->Release(); 
   }
   //涓婇潰浠g爜涓紝浣滀負澶嶅埗鎸囬拡pIX2錛屽叾鐢熷瓨鍛ㄦ湡涓巔IX鐩稿悓錛屽嵆錛屽湪pIX Release涔嬪墠pIX2灝卞凡緇忎笉鍐嶄嬌鐢ㄤ簡錛?br>   pIX淇濊瘉浜嗙粍浠朵嬌鐢ㄥ畨鍏ㄧ殑鍓嶆彁涓嬶紝pIX涓嶇敤AddRef鍜孯elease鏄偗瀹氭病闂鐨勩?br>   
   浣嗘湁鏃跺緢闅懼垽鏂煇浜涙病鏈夊姞涓夾ddRef鍜孯elease鐨勮皟鐢ㄦ槸涓嶆槸姝g‘錛屾槸浼樺寲榪樻槸紼嬪簭閿欒銆備竴鑸敤鏅鴻兘鏉ュ皝瑁?br>   寮曠敤璁℃暟錛屼粠鑰岃В鍐寵繖涓棶棰樸?鏅鴻兘鎸囬拡)
   
   緇勪歡鍙互瀵瑰叾姣忎竴涓帴鍙e垎鍒淮鎶や竴涓紩鐢ㄨ鏁幫紝涔熷彲浠ュ鏁翠釜緇勪歡緇存姢鍗曚釜鐨勫紩鐢ㄨ鏁般傚師鍒欎笂閫夋嫨浜嗕負姣忎竴涓?br>   鎺ュ彛鍗曠嫭緇存姢涓涓紩鐢ㄨ鏁拌屼笉鏄拡瀵規暣涓淮鎶よ鏁幫紝鍘熷洜錛屼竴錛屼嬌紼嬪簭璋冭瘯鏇存柟渚匡紝浜岋紝鏀寔緋葷粺璧勬簮鐨勬寜闇鑾峰彇銆?br>   
 (2)AddRef\Release 瀹炵幇
   涓昏鏄敼鍙樻垚鍛樺彉閲弇_cRef鐨勬暟鍊箋侫ddRef澧炲姞鍏舵暟鍊鹼紝Release鍑忓皬鏁板鹼紝騫跺湪姝ゅ間負0鏃跺皢緇勪歡鍒犻櫎銆?br>   綆鍗曞疄鐜幫細
    ULONG _stdcall AddRef()
    {
     return ++m_cRef;//return InterlockIncrement(&m_cRef);
    }
    ULONG _stdcall Release()
    {
     if(--m_cRef==0)//if(InterlockDecrement(&m_cRef)==0)
     {
      delete this;
      return 0;
     }
     return m_cRef;
    }
   涓鑸敤InterlockIncrement鍜孖nterlockDecrement鏉ュ疄鐜癆ddRef\Release; 鍙互紜繚鍚屼竴鏃墮棿鍙湁鍚屼竴綰跨▼鏉ヨ闂垚鍛樺彉閲忋?br>  3)寮曠敤璁℃暟鐨勪紭鍖栧師鍒?br>    灝卞儚(1)涓緥瀛愶紝pIX鑳戒繚闅滃湪pIX2鐢熷懡鍛ㄦ湡鍐咃紝緇勪歡鑲畾浼氬湪鍐呭瓨鍐呭瓨鐣欍傚嵆錛岄偅浜涚敓鍛藉懆鏈熷祵濂楀湪寮曠敤鍚屼竴鎺ュ彛鐨勬寚閽堢殑鐢熷懡鍛ㄦ湡涔嬪唴鏃訛紝澶栧眰鐨勫凡鏈夊紩鐢ㄨ鏁幫紝鍐呭眰鐨勫氨鍙互涓嶈浜嗐?br>    娉ㄦ剰閭d簺鐢熷懡鍛ㄦ湡閲嶅彔鐨勬寚閽堛?br>    (1)杈撳嚭鍙傛暟鍘熷垯
      濡傛灉鎺ュ彛鎸囬拡浠ュ嚱鏁拌繑鍥炲兼垨鑰呬互浼犲嚭鍙傛暟浼犲嚭錛岄偅涔堝湪鍑芥暟鍐呴儴錛岃繑鍥炲弬鏁板墠璋冪敤AddRef.
      渚?QueryInterface/CreateInstance;
    (2)杈撳叆鍙傛暟鍘熷垯
      鑻ユ帴鍙f寚閽堜綔涓哄弬鏁頒紶閫掔粰涓涓嚱鏁幫紝璇ュ嚱鏁頒笉淇敼涔熷皢鍏惰繑鍥炶皟鐢ㄨ咃紝姝ゆ椂鏃犻渶璋冪敤AddRef\Release渚嬶細
       void foo(pIX *pIX)
       {
        pIX->Fx();
       }
       鍥犱負鍑芥暟鐨勭敓鍛藉懆鏈熷祵濂楀湪璋冪敤鑰呯殑鐢熷懡鍛ㄦ湡涔嬪唴鐨勩?br>    (3)杈撳叆杈撳嚭鍙傛暟鍘熷垯
      瀵逛簬浼犻掕繘鏉ョ殑鎺ュ彛鎸囬拡錛屽繀欏誨湪緇欎粬闄勫彟澶栦竴涓帴鍙f寚閽堜箣鍓嶈皟鐢╮elease錛涜繑鍥炰箣鍓嶏紝榪樺繀欏誨杈撳嚭鍙傛暟鎸囧悜鐨勬柊鎺ュ彛璋冪敤AddRef;
  4)灞閮ㄥ彉閲忓師鍒?br>    瀹冧滑鏄湪鍑芥暟鐨勭敓瀛樺懆鏈熷唴鎵嶅瓨鍦紝鍥犳涓嶉渶瑕佽皟鐢ˋddRef\Release
  5)鍏ㄥ眬鍙橀噺鍘熷垯
    鍦ㄤ紶閫掔粰鍙︿竴涓嚱鏁頒箣鍓嶏紝蹇呴』璋冪敤AddRef.
  6)涓嶇‘瀹氱殑鎯呭喌
    姝ゆ椂闇瑕佽皟鐢ˋddRef\Release 浠ラ槻涓囦竴


]]>
銆奀++楂樻晥緙栫▼銆嬪涔犵瑪璁幫紙1錛?/title><link>http://m.shnenglu.com/yearner/archive/2008/10/01/63125.html</link><dc:creator>(Leyn)欏戒富</dc:creator><author>(Leyn)欏戒富</author><pubDate>Wed, 01 Oct 2008 06:53:00 GMT</pubDate><guid>http://m.shnenglu.com/yearner/archive/2008/10/01/63125.html</guid><wfw:comment>http://m.shnenglu.com/yearner/comments/63125.html</wfw:comment><comments>http://m.shnenglu.com/yearner/archive/2008/10/01/63125.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/yearner/comments/commentRss/63125.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/yearner/services/trackbacks/63125.html</trackback:ping><description><![CDATA[1.灝介噺鐢╟onst 鍜宨nline 鑰屼笉鐢?define<br>  1)渚嬶細#define ASPECT_RATIO 1.653<br>   鍦ㄦ簮鐮佽繘鍏ョ紪璇戝櫒涔嬪墠錛岄緙栬瘧鎸囦護浼氳澶勭悊鍣ㄥ幓鎺夛紝鐩存帴鐢?.653浠f浛ASPECT_RATIO錛屽鏋滄秹鍙婂埌榪欎釜甯擱噺鐨勪唬鐮佸嚭閿欙紝鑻ユ兂鐢?.653榪借釜鍒板師鎸囦護浼氬緢鍥伴毦<br>   鎵浠ワ紝榪欑鎯呭喌涓嬩竴鑸敤const double ASPECT_RATIO=1.653浠f浛銆?br>   瀹氫箟鎸囬拡鏃訛紝闇瑕佹妸鎸囬拡鍜屾寚鍚戠殑鍙橀噺閮藉畾涔夋垚const<br>   const char * const authorName ="YLang"   <br>   <br>  2)鏈変簺緙栬瘧鍣紝綾誨唴鍙厑璁稿垵濮嬪寲鏁存暟綾誨瀷錛坕nt,bool,char錛夎繕鍙兘鏄父閲?br>   鑻ュ湪綾誨唴鍒嗗紑澹版槑鏁扮粍鍜屾暟緇勫ぇ灝忥紝涓洪伩鍏嶆煇浜涚紪璇戝櫒鐨勪笉瓚籌紝閲囩敤enum鏋氫婦鐨勬柟寮?br>   enum{NUM_TURNS=5};//鐩存帴閲囩敤 const NUM_TURNS=5; 瀵逛簬鏌愪簺紱佹姝よ涓虹殑緙栬瘧鍣ㄦ潵璇達紝浼氬嚭鐜扮紪璇戦敊璇紱<br>   int scores[NUM_TURNS];<br>  <br>  3)#define 瀹忕殑鐢ㄦ硶<br>   渚嬶細鏈澶у肩畻娉?br>     #define  max(a,b) ((a)>(b)?(a):(b))//姣忎釜鍙傛暟蹇呴』鍔犳嫭鍙?br>     鍦ㄩ亣鍒拌嚜鍔犳椂錛岃〃鐜頒簡寰堝ぇ鐨勪笉紼沖畾鎬с?br>     int a=5,b=0;<br>     max(++a,b);//a鐨勫煎鍔犱簡2嬈?br>     max(++a,b+10);//a鐨勫煎彧澧炲姞浜?嬈?br>   閲囩敤inline鍑芥暟鏉ユ浛鎹㈣瀹忋?nbsp;  <br>   inline int max(int a,int b) {return a>b?a:b;}<br>   template<class T><br>   inline const T& max(const T& a, const T& b)<br>   { return a>b?a:b;}<br>   <br>2.灝介噺鐢?lt;iostream>鑰屼笉鏄?lt;stdio.h><br>   scanf/printf 涓嶆槸瀹夊叏綾誨瀷錛屾病鏈夋墿灞曟э紝騫朵笖鎶婅璇誨啓鐨勫彉閲忓拰鎺у埗璇誨啓鏍煎紡淇℃伅鍒嗗紑銆?br>   閲嶈澆榪愮畻絎?lt;< 寮ヨˉ浜嗕粬浠殑緙虹偣銆?br>   <iostream>鍙Щ妞嶆у彲鎵╁睍鎬ц緝楂橈紝搴撶被鏈夋瀯閫犲嚱鏁幫紱<stdio.h>搴撶被娌℃湁鏋勯犲嚱鏁?br>   #include <iostream> 鍜?include <iostream.h>鐨勫尯鍒?br>   鍓嶈呭緱鍒扮殑鏄疆浜巗td鍚嶅瓧絀洪棿涓嬬殑鍏冪礌錛屽悗鑰呮槸鍚屾牱鐨勫厓绱狅紝浣嗘槸鍏ㄥ眬絀洪棿閲岋紝浼氶犳垚鍛藉悕鍐茬獊銆?br>   <br>3.灝介噺鐢╪ew鍜宒elete鑰屼笉鏄痬alloc 鍜宖ree<br> 鍓嶈呬細鍒涘緩/鍒犻櫎瀵硅薄錛屽悓鏃惰皟鐢ㄦ瀯閫?鏋愭瀯鍑芥暟錛涘悗鑰呬粎鍒涘緩/鍒犻櫎絀洪棿錛屾病鏈夎皟鐢ㄦ瀯閫?鏋愭瀯鍑芥暟錛?br> <br>4.C++娉ㄩ噴椋庢牸<br> 灝介噺涓嶈鐢?* */<br> <br>5.new鍜宒elete瑕佸搴旂浉鍚岀殑褰㈠紡<br> new鏁扮粍鐢ㄤ簡[] 錛宒elete涔熷繀欏葷敤[];<br> 濡傛灉瑕佸垹闄ゆ寚閽堟寚鍚戠殑鏁扮粍絀洪棿闇瑕佺敤delete[];<br> <br>6.灝介噺鍦ㄦ瀽鏋勫嚱鏁伴噷瀵規寚閽堟垚鍛樿皟鐢╠elete<br> 闄ら潪綾繪垚鍛樻渶鍒濈敤浜唍ew錛屽惁鍒欐槸涓嶇敤鍦ㄦ瀽鏋勯噷鐢╠elete鐨勩?br> 鎴栬呯敤鏅鴻兘鎸囬拡鏉ヤ唬鏇?C++鏍囧噯搴揳uto_ptr)\<br> <br>7.棰勫厛鍑嗗濂藉唴瀛樹笉瓚崇殑鎯呭喌<br> 鑰冭檻鍒板綋new涓涓璞℃椂錛岀悊璁轟笂鍙兘浼氬彂鐢熸棤娉曞畬鎴愬唴瀛樺垎閰嶈屾姏鍑哄紓甯哥殑鎯呭喌銆?br> C鐨勫仛娉曟槸瀹氫箟瀹忔潵鍒嗛厤鍐呭瓨騫舵鏌ュ垎閰嶆槸鍚︽垚鍔熴?br> 榪欑瀹忕殑C++鍐嶇幇錛?br> #define NEW(PTR,TYPE)<br> try {(PTR)= new TYPE;}<br>  catch(std::bad_alloc&){assert(0);}<br> //璇存槑錛?br> //1)assert媯鏌ヤ紶緇欏畠鐨勮〃杈懼紡鏄惁涓洪潪闆訛紝濡傛灉涓嶆槸闈?錛屽彂鍑轟竴鏉¢敊璇俊鎭茍璋冪敤abort. <br> // 鑰宎ssert鍙槸鍦ㄨ皟璇曠姸鎬?娌℃湁瀹氫箟 NDEBUGE)涓嬫墠浼氳搗浣滅敤錛屼駭鍝佸彂甯冩椂(瀹氫箟 NDEBUGE)assert浠涔堥兘涓嶅仛銆?<br> //2)娌℃湁鑰冭檻鍒皀ew鐨勫縐嶅艦寮? new T;new T(constructor argument);new T[size];<br> 鎵浠ヤ竴鑸笉鐢ㄨ繖縐嶆柟妗?br> 綆鍗曠殑鏂規硶錛氬埗瀹氫竴閿欒澶勭悊鍑芥暟錛屽湪鎶涘嚭寮傚父鍓嶈皟鐢ㄣ?br> 鍦ㄥご鏂囦歡<new>涓?<br> typedef void (* new_handler)();<br> new_handler set_new_handler()(new_handler p) throw();<br> 鍦ㄨ皟鐢╪ew涔嬪墠錛屼嬌鐢╯et_new_handler鏉ヨ瀹氶敊璇鐞嗗嚱鏁幫紝浼犲叆鍙傛暟涓哄嚱鏁版寚閽堛?br> 渚嬶細<br>  void onMemoryError(){......}//invoke before throwing the expection;<br>  int mail()<br>  {<br>   set_new_handler(onMemoryError);<br>   int *pBigMemory=new int[100000];<br>  }<br> C++ 涓鐞嗘満鍒訛細<br>  璁懼畾澶勭悊鍑芥暟涓哄叏灞錛屽湪set_new_handler瀹夎鑷畾涔夊鐞嗗嚱鏁頒箣鍓嶄繚瀛樺師鏈夊嚱鏁般?br>  鍒嗛厤鍐呭瓨錛岃嫢澶辮觸鍒欐姏鍑哄紓甯革紝榪斿洖涔嬪墠鎭㈠鍘熷鐞嗗嚱鏁般?br>  void * X::operator new(size_t size)<br>  {<br>   new_handler globalHandler = // 瀹夎X 鐨刵ew_handler<br>   std::set_new_handler(currentHandler);<br>    <br>   void *memory;<br>    <br>   try<br>     { // 灝濊瘯鍒嗛厤鍐呭瓨<br>     memory = ::operator new(size);<br>     }<br>   catch (std::bad_alloc&)<br>     {<br>     // 鎭㈠鏃х殑new_handler<br>     std::set_new_handler(globalHandler);<br>     throw; // 鎶涘嚭寮傚父<br>     }<br>   std::set_new_handler(globalHandler); // 鎭㈠鏃х殑new_handler<br>   return memory;<br>  }<br><br><img src ="http://m.shnenglu.com/yearner/aggbug/63125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yearner/" target="_blank">(Leyn)欏戒富</a> 2008-10-01 14:53 <a href="http://m.shnenglu.com/yearner/archive/2008/10/01/63125.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>COM 瀛︿範絎旇錛?錛?/title><link>http://m.shnenglu.com/yearner/archive/2008/07/22/56882.html</link><dc:creator>(Leyn)欏戒富</dc:creator><author>(Leyn)欏戒富</author><pubDate>Tue, 22 Jul 2008 10:50:00 GMT</pubDate><guid>http://m.shnenglu.com/yearner/archive/2008/07/22/56882.html</guid><wfw:comment>http://m.shnenglu.com/yearner/comments/56882.html</wfw:comment><comments>http://m.shnenglu.com/yearner/archive/2008/07/22/56882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/yearner/comments/commentRss/56882.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/yearner/services/trackbacks/56882.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span lang="EN-US">COM </span><span style="font-family: 瀹嬩綋;">瀛︿範絎旇</span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹嬩綋;">鍑芥暟</span></p> <p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 瀹嬩綋;">涓昏鐢ㄤ簬</span><span lang="EN-US">COM</span><span style="font-family: 瀹嬩綋;">鎺ュ彛鐨勬煡璇€傚畠鏄?/span><span lang="EN-US">COM</span><span style="font-family: 瀹嬩綋;">鎺ュ彛瀹氫箟</span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹嬩綋;">鐨勬垚鍛樺嚱鏁幫紝瀹㈡埛鍙互璋冪敤</span><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹嬩綋;">鏉ュ喅瀹氱粍浠舵槸鍚︽敮鎸佹煇涓壒瀹氱殑鎺ュ彛銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><span>       </span></span><span style="font-family: 瀹嬩綋;">緇勪歡</span><span lang="EN-US">COM</span><span style="font-family: 瀹嬩綋;">鎺ュ彛閮芥槸浠?/span><span lang="EN-US">IUnkonwn</span><span style="font-family: 瀹嬩綋;">鎺ュ彛緇ф壙鑰屾潵錛屼換浣曚竴涓帴鍙i兘鍙互鐢?/span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹嬩綋;">鐨勬垚鍛?/span><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹嬩綋;">鏉ヨ幏鍙栧畠鎵鏀寔鐨勫叾瀹冩帴鍙c?/span></p> <p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">1</span><span style="font-family: 瀹嬩綋;">錛夊畾涔夛細</span></p> <p class="MsoNormal"><span lang="EN-US"><span>       </span>HRESULT _stdcall QueryInterface(const IID& iid,void ** ppv);</span></p> <p class="MsoNormal"><span style="font-family: 瀹嬩綋;">絎竴涓弬鏁板崄鎵闇鎺ュ彛鐨勬爣璇嗭紝鏄竴涓帴鍙f爣璇嗙</span><span lang="EN-US">IID</span><span style="font-family: 瀹嬩綋;">緇撴瀯銆?/span> <span style="font-family: 瀹嬩綋;">絎簩涓弬鏁板瓨鏀炬墍璇鋒眰鎺ュ彛鎸囬拡鐨勫湴鍧銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span><span>     </span>2</span><span style="font-family: 瀹嬩綋;">錛変嬌鐢ㄨ繃紼嬶細</span></p> <p class="MsoNormal"><span lang="EN-US"><span>       </span></span><span style="font-family: 瀹嬩綋;">鍋囧畾宸叉湁涓涓寚鍚?/span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹嬩綋;">鐨勬寚閽?/span><span lang="EN-US">pI</span><span style="font-family: 瀹嬩綋;">錛屼負鐭ラ亾鐩稿簲鐨勭粍浠舵槸鍚︽敮鎸佹煇涓壒瀹氱殑鎺ュ彛錛岃皟鐢?/span><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹嬩綋;">錛屼紶緇欏畠涓涓帴鍙f爣璇嗙銆傝嫢鎴愬姛榪斿洖錛岄偅灝辨槸鍙互浣跨敤瀹冭繑鍥炵殑鎸囬拡銆?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Void foo(IUnknown * pI)</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>IX *pIX=NULL;</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">HRESULT hr=pI->QueryInterface(IID_IX,(void **)&pIX);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">If(SUCCEEDED(hr))</span></p> <p class="MsoNormal" style="margin-left: 41.25pt; text-indent: 21.75pt;"><span lang="EN-US">pIX->Fx();</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹嬩綋;">璇ュ嚱鏁扮敤浜庢煡璇?/span><span lang="EN-US">pI</span><span style="font-family: 瀹嬩綋;">鏄惁鏀寔鐢?/span><span lang="EN-US">IID_IX</span><span style="font-family: 瀹嬩綋;">鎵鏍囪瘑鐨勬帴鍙c?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">IUnknown</span><span style="font-family: 瀹嬩綋;">鐨勭戶鎵夸笉鏄櫄鎷熷熀綾匯?/span><span lang="EN-US">COM</span><span style="font-family: 瀹嬩綋;">鎺ュ彛涓嶈兘鎸夌収铏氭嫙鏂瑰紡緇ф壙瀹冦?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">3</span><span style="font-family: 瀹嬩綋;">錛夊疄鐜幫細</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Interface IX</span><span style="font-family: 瀹嬩綋;">錛?/span><span lang="EN-US">IUnknown{/**/}</span><span style="font-family: 瀹嬩綋;">錛?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Interface IY</span><span style="font-family: 瀹嬩綋;">錛?/span><span lang="EN-US">IUnknown{/**/}</span><span style="font-family: 瀹嬩綋;">錛?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Class CA</span><span style="font-family: 瀹嬩綋;">錛?/span><span lang="EN-US">public IX,public IY{/**/};</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹嬩綋;">涓昏閫氳繃鍒ゆ柇鏍囪瘑絎︽槸鍚︿負</span><span lang="EN-US">CA</span><span style="font-family: 瀹嬩綋;">鐨勬敮鎸佺被鍨嬶紝鏉ュ垽鏂槸鍚︿負瀛樺湪鍦?/span><span lang="EN-US">CA</span><span style="font-family: 瀹嬩綋;">涓殑</span><span lang="EN-US">COM</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">HRESULT _stdcall CA:;QueryInterface(const IID &iid,void **ppv)</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>If(iid==IID_IUnknown)</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=static_cast<IX *>(this);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Else if(iid==IID_IX)</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=static_cast<IX*>(this);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Else if (iid==IID_IY)</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=static_cast<IY*>(this);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Else </span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=NULL;</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Return E_NOINTERFACE;</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Static_cast<IUnknown*>(*ppv)->AddRef();</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Return S_OK;</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">4</span><span style="font-family: 瀹嬩綋;">錛夊叧浜庡叾涓殑綾誨瀷杞崲</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span>   </span></span><span style="font-family: 瀹嬩綋;">紼嬪簭涓嫢灝?/span><span lang="EN-US">this</span><span style="font-family: 瀹嬩綋;">鎸囬拡鐩存帴杞崲鎴?/span><span lang="EN-US">IUnknown*</span><span style="font-family: 瀹嬩綋;">鏄笉鏄庣‘鐨勩傚洜涓哄瓨鍦ㄤ袱涓熀綾繪帴鍙o紝闇瑕佹寚鏄庢槸杞崲鍚戝摢涓涓帴鍙g殑</span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹嬩綋;">銆?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Static_cast<IUnknown*> (static_cast<IX *>(this))</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-size: 10.5pt; font-family: "times new roman","serif";" lang="EN-US"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:414.75pt; height:235.5pt'"> <v:imagedata src="file:///C:\DOCUME~1\LEYANG~1.ETH\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.png" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><img src="file:///C:/DOCUME~1/LEYANG~1.ETH/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg" v:shapes="_x0000_i1025" height="314" width="553"><!--[endif]--></span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹嬩綋;">鍦ㄧ被鍨嬭漿鎹㈡椂錛?/span><span lang="EN-US">CA</span><span style="font-family: 瀹嬩綋;">鎸夌収欏哄簭瀛樻斁瀹冪殑鍩虹被鎺ュ彛鍙婂叾瀹炵幇錛屽叾</span><span lang="EN-US">this</span><span style="font-family: 瀹嬩綋;">鎸囬拡鍙互鐢?/span><span lang="EN-US">IX</span><span style="font-family: 瀹嬩綋;">浠f浛錛堝湴鍧鍊肩浉鍚岋級銆?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹嬩綋;">鑰?/span><span lang="EN-US">IY</span><span style="font-family: 瀹嬩綋;">鍒欓渶瑕?/span><span lang="EN-US">CA</span><span style="font-family: 瀹嬩綋;">鐨勫熀鍧鍔犱笂鍋忕Щ鍧銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p><img src ="http://m.shnenglu.com/yearner/aggbug/56882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yearner/" target="_blank">(Leyn)欏戒富</a> 2008-07-22 18:50 <a href="http://m.shnenglu.com/yearner/archive/2008/07/22/56882.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.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://710195.com" target="_blank">久久野战av</a>| <a href="http://993934.com" target="_blank">久久精品国产综合</a>| <a href="http://www333444123.com" target="_blank">亚洲免费一区二区</a>| <a href="http://pigkrtv.com" target="_blank">黑人巨大精品欧美一区二区小视频</a>| <a href="http://elpezomaha.com" target="_blank">亚洲欧美亚洲</a>| <a href="http://345fz.com" target="_blank">一区二区三区欧美日韩</a>| <a href="http://aqxiangtai.com" target="_blank">在线电影国产精品</a>| <a href="http://k82net.com" target="_blank">亚洲大胆在线</a>| <a href="http://gg5gg.com" target="_blank">亚洲麻豆一区</a>| <a href="http://avse69.com" target="_blank">香蕉久久一区二区不卡无毒影院</a>| <a href="http://44ie.com" target="_blank">一区二区三区国产精品</a>| <a href="http://520taose.com" target="_blank">亚洲欧美日韩一区二区三区在线观看 </a>| <a href="http://778km.com" target="_blank">欧美亚洲免费高清在线观看</a>| <a href="http://8868866.com" target="_blank">亚洲国产综合视频在线观看</a>| <a href="http://136066.com" target="_blank">亚洲激情啪啪</a>| <a href="http://ttdy20.com" target="_blank">亚洲在线网站</a>| <a href="http://www47067.com" target="_blank">快射av在线播放一区</a>| <a href="http://gelaimeiwedding.com" target="_blank">亚洲精品综合在线</a>| <a href="http://1188188.com" target="_blank">久久精品一区二区三区不卡牛牛</a>| <a href="http://www23009.com" target="_blank">玖玖国产精品视频</a>| <a href="http://8w82.com" target="_blank">亚洲精品视频在线观看网站 </a>| <a href="http://www-90422.com" target="_blank">亚洲美女黄色</a>| <a href="http://65kf.com" target="_blank">欧美制服丝袜第一页</a>| <a href="http://0000zz.com" target="_blank">亚洲国产成人av</a>| <a href="http://xshgwy.com" target="_blank">亚洲天堂偷拍</a>| <a href="http://mide776.com" target="_blank">欧美激情精品久久久久久大尺度</a>| <a href="http://wwzz3.com" target="_blank">欧美日韩视频在线</a>| <a href="http://88844401.com" target="_blank">好看的日韩视频</a>| <a href="http://3534m.com" target="_blank">性做久久久久久</a>| <a href="http://221080.com" target="_blank">日韩视频免费在线观看</a>| <a href="http://322033.com" target="_blank">久久九九精品99国产精品</a>| <a href="http://www44552.com" target="_blank">欧美天堂亚洲电影院在线观看 </a>| <a href="http://118626cc.com" target="_blank">亚洲素人一区二区</a>| <a href="http://www22336.com" target="_blank">欧美激情91</a>| <a href="http://49028b.com" target="_blank">日韩午夜激情av</a>| <a href="http://xjj733.com" target="_blank">最新成人av网站</a>| <a href="http://621762.com" target="_blank">鲁大师成人一区二区三区</a>| <a href="http://www-440447.com" target="_blank">国产女人18毛片水18精品</a>| <a href="http://80hogo.com" target="_blank">亚洲手机视频</a>| <a href="http://www-tt211.com" target="_blank">一本久道久久综合中文字幕</a>| <a href="http://1zz8903.com" target="_blank">蜜月aⅴ免费一区二区三区</a>| <a href="http://26mmmm.com" target="_blank">国产欧美欧洲在线观看</a>| <a href="http://y65v.com" target="_blank">宅男精品视频</a>| <a href="http://6556h.com" target="_blank">浪潮色综合久久天堂</a>| <a href="http://7777525.com" target="_blank">国产欧美日韩</a>| <a href="http://339505.com" target="_blank">久久精品国产免费看久久精品</a>| <a href="http://asanny.com" target="_blank">亚洲美女精品成人在线视频</a>| <a href="http://szbeikai.com" target="_blank">欧美韩日一区二区</a>| <a href="http://www24699.com" target="_blank">亚洲无线一线二线三线区别av</a>| <a href="http://www433ad.com" target="_blank">亚洲另类黄色</a>| <a href="http://analemi.com" target="_blank">国产欧美日韩在线</a>| <a href="http://www17bxbx.com" target="_blank">欧美 日韩 国产 一区</a>| <a href="http://www-878899.com" target="_blank">免费成年人欧美视频</a>| <a href="http://74va.com" target="_blank">在线视频精品一</a>| <a href="http://jldianda.com" target="_blank">亚洲综合色丁香婷婷六月图片</a>| <a href="http://jjy891.com" target="_blank">国产三区精品</a>| <a href="http://taikonghua.com" target="_blank">91久久精品久久国产性色也91</a>| <a href="http://www369cf.com" target="_blank">欧美高清不卡在线</a>| <a href="http://www-477499.com" target="_blank">亚洲男人的天堂在线</a>| <a href="http://ynzhuoyi.com" target="_blank">久久理论片午夜琪琪电影网</a>| <a href="http://wwwhhh396.com" target="_blank">99亚洲精品</a>| <a href="http://80hogo.com" target="_blank">久久精品毛片</a>| <a href="http://bodabloc.com" target="_blank">午夜一区二区三区在线观看</a>| <a href="http://aqdav037.com" target="_blank">久久影院午夜片一区</a>| <a href="http://psykoptic.com" target="_blank">亚洲在线成人</a>| <a href="http://xb989.com" target="_blank">蜜桃av噜噜一区二区三区</a>| <a href="http://hlyjh.com" target="_blank">免费欧美高清视频</a>| <a href="http://01xxtv.com" target="_blank">久久资源在线</a>| <a href="http://51duanxinmao.com" target="_blank">国产日韩欧美中文在线播放</a>| <a href="http://jnhrjixie.com" target="_blank">亚洲国产一区二区三区在线播</a>| <a href="http://74va.com" target="_blank">国产精品人人爽人人做我的可爱 </a>| <a href="http://mathck.com" target="_blank">欧美一区2区三区4区公司二百</a>| <a href="http://343119.com" target="_blank">亚洲精品视频二区</a>| <a href="http://www-878899.com" target="_blank">国产精品激情av在线播放</a>| <a href="http://chaoporn97.com" target="_blank">老色批av在线精品</a>| <a href="http://ccly2.com" target="_blank">国产日韩欧美综合一区</a>| <a href="http://17kfe.com" target="_blank">日韩午夜精品</a>| <a href="http://km43yy.com" target="_blank">99综合精品</a>| <a href="http://xshgwy.com" target="_blank">免费欧美电影</a>| <a href="http://667939.com" target="_blank">亚洲国产欧美一区</a>| <a href="http://htzhuanli.com" target="_blank">亚洲精品久久久久中文字幕欢迎你</a>| <a href="http://566805.com" target="_blank">久久久www成人免费无遮挡大片</a>| <a href="http://lymzdd.com" target="_blank">午夜一级在线看亚洲</a>| <a href="http://26thb.com" target="_blank">国产美女精品免费电影</a>| <a href="http://xxxx43.com" target="_blank">午夜在线一区二区</a>| <a href="http://pp88qq.com" target="_blank">久久午夜视频</a>| <a href="http://69kun.com" target="_blank">亚洲精品你懂的</a>| <a href="http://1069024.com" target="_blank">欧美韩日一区二区三区</a>| <a href="http://3451215.com" target="_blank">亚洲日韩中文字幕在线播放</a>| <a href="http://xsjgxx.com" target="_blank">亚洲视频免费在线</a>| <a href="http://www1982t.com" target="_blank">国产精品视频在线观看</a>| <a href="http://www-ss777.com" target="_blank">久久成人国产精品</a>| <a href="http://yw8333.com" target="_blank">亚洲精品一级</a>| <a href="http://www227zh.com" target="_blank">久久午夜电影网</a>| <a href="http://seqing9.com" target="_blank">夜夜爽夜夜爽精品视频</a>| <a href="http://zztto7.com" target="_blank">国产精品日韩在线播放</a>| <a href="http://chinagreetown.com" target="_blank">久久久久国内</a>| <a href="http://jlkcjz.com" target="_blank">正在播放日韩</a>| <a href="http://whdzjc.com" target="_blank">免费在线欧美视频</a>| <a href="http://8410555.com" target="_blank">欧美一级午夜免费电影</a>| <a href="http://haoa009.com" target="_blank">性欧美暴力猛交69hd</a>| <a href="http://www-4890.com" target="_blank">最新亚洲一区</a>| <a href="http://sifeksa.com" target="_blank">欧美国产精品人人做人人爱</a>| <a href="http://www16axax.com" target="_blank">亚洲国产精品福利</a>| <a href="http://8eya.com" target="_blank">国产精品美女xx</a>| <a href="http://writeingo.com" target="_blank">久久只有精品</a>| <a href="http://www-tk8899.com" target="_blank">欧美一区二区三区成人</a>| <a href="http://sqms2013.com" target="_blank">日韩一二在线观看</a>| <a href="http://lexueit.com" target="_blank">91久久久亚洲精品</a>| <a href="http://www5xzz1.com" target="_blank">久久综合激情</a>| <a href="http://lfxhfh.com" target="_blank">久久夜精品va视频免费观看</a>| <a href="http://laodaohang.com" target="_blank">在线性视频日韩欧美</a>| <a href="http://gzpurefaith.com" target="_blank">亚洲国产岛国毛片在线</a>| <a href="http://music444.com" target="_blank">国产偷国产偷精品高清尤物</a>| <a href="http://330310c.com" target="_blank">国产精品ⅴa在线观看h</a>| <a href="http://hicao32.com" target="_blank">欧美日韩中文字幕综合视频</a>| <a href="http://cn1357.com" target="_blank">欧美高清影院</a>| <a href="http://www49853b.com" target="_blank">欧美伦理91i</a>| <a href="http://shaijia123.com" target="_blank">欧美日韩中文字幕在线视频</a>| <a href="http://www35177.com" target="_blank">欧美激情一区二区三区不卡</a>| <a href="http://gjjlzs.com" target="_blank">欧美 日韩 国产精品免费观看</a>| <a href="http://jm1688e.com" target="_blank">欧美在线视频导航</a>| <a href="http://305838.com" target="_blank">久久免费精品视频</a>| <a href="http://taoh228.com" target="_blank">欧美/亚洲一区</a>| <a href="http://woniuminsu.com" target="_blank">欧美伦理在线观看</a>| <a href="http://yjdm139.com" target="_blank">国产精品乱子久久久久</a>| <a href="http://pgpg520.com" target="_blank">国产三级欧美三级日产三级99</a>| <a href="http://y7y7s.com" target="_blank">国产亚洲欧美日韩美女</a>| <a href="http://5599912.com" target="_blank">一区精品在线播放</a>| <a href="http://zjjieda.com" target="_blank">av成人免费在线</a>| <a href="http://www-333304.com" target="_blank">欧美一区二区三区四区视频</a>| <a href="http://www-577511.com" target="_blank">久久成人精品无人区</a>| <a href="http://5gn4y.com" target="_blank">免费欧美日韩</a>| <a href="http://555hhu.com" target="_blank">亚洲一区二区毛片</a>| <a href="http://yjdm296.com" target="_blank">久久亚洲精品视频</a>| <a href="http://820002.com" target="_blank">国产精品进线69影院</a>| <a href="http://6868681.com" target="_blank">在线不卡欧美</a>| <a href="http://388268.com" target="_blank">欧美一级在线播放</a>| <a href="http://jjoo4.com" target="_blank">亚洲精品在线观看视频</a>| <a href="http://921367.com" target="_blank">欧美一区91</a>| <a href="http://7sscc.com" target="_blank">欧美日韩在线大尺度</a>| <a href="http://6767673.com" target="_blank">一本大道久久精品懂色aⅴ</a>| <a href="http://551731.com" target="_blank">一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 </a>| <a href="http://www77577.com" target="_blank">国产日韩欧美精品综合</a>| <a href="http://0773ye.com" target="_blank">最近中文字幕mv在线一区二区三区四区</a>| <a href="http://xingda-sh.com" target="_blank">91久久精品视频</a>| <a href="http://www218999.com" target="_blank">久久综合伊人77777</a>| <a href="http://www333444123.com" target="_blank">中文一区二区</a>| <a href="http://zhouqie.com" target="_blank">欧美日韩视频一区二区三区</a>| <a href="http://ylsnuha.com" target="_blank">亚洲国产成人在线</a>| <a href="http://jm-comic3.com" target="_blank">免费观看30秒视频久久</a>| <a href="http://hg98688.com" target="_blank">午夜在线视频观看日韩17c</a>| <a href="http://www47777.com" target="_blank">国产精品jizz在线观看美国</a>| <a href="http://gzw33.com" target="_blank">亚洲免费高清</a>| <a href="http://f9494.com" target="_blank">夜夜嗨一区二区</a>| <a href="http://weixiao668.com" target="_blank">国产精品成人一区二区网站软件</a>| <a href="http://qiaoka526.com" target="_blank">亚洲人精品午夜在线观看</a>| <a href="http://www-273111.com" target="_blank">另类尿喷潮videofree </a>| <a href="http://788111c.com" target="_blank">久久婷婷影院</a>| <a href="http://489633.com" target="_blank">久久久久久久久久久久久女国产乱</a>| <a href="http://submro.com" target="_blank">欧美午夜一区二区三区免费大片</a>| <a href="http://hzjqkj.com" target="_blank">亚洲精品四区</a>| <a href="http://aydsrmyy.com" target="_blank">99精品国产热久久91蜜凸</a>| <a href="http://szywsj.com" target="_blank">国产精品二区三区四区</a>| <a href="http://azaz7.com" target="_blank">欧美一二区视频</a>| <a href="http://chunhuigk.com" target="_blank">久久久999精品</a>| <a href="http://qscxx3.com" target="_blank">99re热这里只有精品免费视频</a>| <a href="http://a718sx.com" target="_blank">国内精品久久久</a>| <a href="http://017455.com" target="_blank">国产精品久久久久久亚洲毛片</a>| <a href="http://aqxiangtai.com" target="_blank">日韩视频一区二区</a>| <a href="http://xxxcalls.com" target="_blank">夜夜嗨av一区二区三区四区</a>| <a href="http://9931111.com" target="_blank">欧美色视频在线</a>| <a href="http://88488848.com" target="_blank">久久天天狠狠</a>| <a href="http://388268.com" target="_blank">欧美激情亚洲激情</a>| <a href="http://xjj733.com" target="_blank">久久精品国产99</a>| <a href="http://689658.com" target="_blank">欧美激情性爽国产精品17p</a>| <a href="http://91porn42.com" target="_blank">亚洲午夜国产一区99re久久 </a>| <a href="http://540669.com" target="_blank">久久综合五月</a>| <a href="http://jiucao8.com" target="_blank">欧美www视频在线观看</a>| <a href="http://yw5531.com" target="_blank">欧美电影电视剧在线观看</a>| <a href="http://kk1xx-com.com" target="_blank">亚洲欧美文学</a>| <a href="http://qq6699.com" target="_blank">欧美日韩久久精品</a>| <a href="http://diyiao.com" target="_blank">欧美成年网站</a>| <a href="http://moonshile.com" target="_blank">国产综合色一区二区三区</a>| <a href="http://www4848xx.com" target="_blank">亚洲乱码久久</a>| <a href="http://66688811.com" target="_blank">亚洲精品久久久久久久久久久久 </a>| <a href="http://wtoykd.com" target="_blank">亚洲国产一区二区视频</a>| <a href="http://yiapk.com" target="_blank">国产农村妇女毛片精品久久麻豆 </a>| <a href="http://3644688.com" target="_blank">一本色道久久精品</a>| <a href="http://www-yh6.com" target="_blank">久久久久www</a>| <a href="http://d1112.com" target="_blank">久久这里有精品视频</a>| <a href="http://yiqiluntan.com" target="_blank">国产精品日韩精品欧美在线</a>| <a href="http://lusaier.com" target="_blank">亚洲日本乱码在线观看</a>| <a href="http://sz-jyqj.com" target="_blank">亚洲精品自在久久</a>| <a href="http://tareandshare.com" target="_blank">欧美激情一区二区在线 </a>| <a href="http://7755cc.com" target="_blank">欧美一区二区三区在线视频</a>| <a href="http://772ss.com" target="_blank">欧美日韩国产综合视频在线观看中文</a>| <a href="http://filark.com" target="_blank">免费成人高清</a>| <a href="http://sxxawef.com" target="_blank">亚洲国产精品久久久久婷婷884</a>| <a href="http://yjdm296.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>