锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国内精品视频666,国产精品久久福利,一本色道久久综合精品竹菊http://m.shnenglu.com/Lee7/category/4849.html 褰撳崕緹庣殑鍙剁墖钀藉敖錛岀敓鍛界殑鑴夌粶鎵嶅巻鍘嗗彲瑙併?錛嶏紞 鑱傞瞾杈? zh-cnSun, 14 Jun 2009 08:50:21 GMTSun, 14 Jun 2009 08:50:21 GMT60C/C++涓璖tatic鐨勪綔鐢ㄨ榪?/title><link>http://m.shnenglu.com/Lee7/archive/2009/03/01/75263.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Sun, 01 Mar 2009 14:07:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2009/03/01/75263.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/75263.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2009/03/01/75263.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/75263.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/75263.html</trackback:ping><description><![CDATA[     鎽樿: 棣栧厛static鐨勬渶涓昏鍔熻兘鏄殣钘忥紝鍏舵鍥犱負(fù)static鍙橀噺瀛樻斁鍦ㄩ潤鎬佸瓨鍌ㄥ尯錛屾墍浠ュ畠鍏峰鎸佷箙鎬у拰榛樿鍊?.  <a href='http://m.shnenglu.com/Lee7/archive/2009/03/01/75263.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/Lee7/aggbug/75263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2009-03-01 22:07 <a href="http://m.shnenglu.com/Lee7/archive/2009/03/01/75263.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍙橀暱緇撴瀯浣?/title><link>http://m.shnenglu.com/Lee7/archive/2009/02/19/74340.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Thu, 19 Feb 2009 14:50:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2009/02/19/74340.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/74340.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2009/02/19/74340.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/74340.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/74340.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://m.shnenglu.com/Lee7/archive/2009/02/19/74340.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/Lee7/aggbug/74340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2009-02-19 22:50 <a href="http://m.shnenglu.com/Lee7/archive/2009/02/19/74340.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>BOOL鍜宐ool鐨勫尯鍒?/title><link>http://m.shnenglu.com/Lee7/archive/2008/12/14/69394.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Sun, 14 Dec 2008 04:28:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2008/12/14/69394.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/69394.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2008/12/14/69394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/69394.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/69394.html</trackback:ping><description><![CDATA[涓銆?<br>1銆佺被鍨嬩笉鍚?<br>BOOL涓篿nt鍨?<br>bool涓哄竷?yōu)當(dāng)鍨?<br>2銆侀暱搴︿笉鍚?<br>bool鍙湁涓涓瓧鑺?<br>BOOL闀垮害瑙嗗疄闄呯幆澧冩潵瀹氾紝涓鑸彲璁や負(fù)鏄?涓瓧鑺?<br>3銆佸彇鍊間笉鍚?<br>bool鍙栧糵alse鍜宼rue錛屾槸0鍜?鐨勫尯鍒?<br>BOOL鍙栧糉ALSE鍜孴RUE錛屾槸0鍜岄潪0鐨勫尯鍒?<br>浜岋細(xì) <br>bool鏄爣鍑咰++鏁版嵁綾誨瀷錛屽彲鍙栧紅rue鍜宖alse銆傚崟鐙崰涓涓瓧鑺傦紝 <br>濡傛灉鏁頒釜bool瀵硅薄鍒楀湪涓璧鳳紝鍙兘浼?xì)鍚勫崰涓涓猙it錛岃繖鍙栧喅浜庣紪璇戝櫒銆?<br><br>BOOL鏄井杞畾涔夌殑typedef int BOOL銆備笌bool涓嶅悓錛屽畠鏄竴涓笁鍊奸昏緫錛?<br>TRUE/FALSE/ERROR錛岃繑鍥炲間負(fù)>0鐨勬暣鏁頒負(fù)TRUE錛?涓篎ALSE錛?1涓篍RROR銆?<br>Win32 API涓緢澶氳繑鍥炲間負(fù)BOOL鐨勫嚱鏁伴兘鏄笁鍊奸昏緫銆傛瘮濡侴etMessage(). <br>涓夛細(xì) <br>澶OOL鍜屽皬bool涔嬮棿鐨勫尯鍒細(xì) <br>1銆佺被鍨嬩笉鍚?<br>BOOL涓篿nt鍨?<br>bool涓哄竷?yōu)當(dāng)鍨?<br>2銆侀暱搴︿笉鍚?<br>bool鍙湁涓涓瓧鑺?<br>BOOL闀垮害瑙嗗疄闄呯幆澧冩潵瀹氾紝涓鑸彲璁や負(fù)鏄?涓瓧鑺?<br>3銆佸彇鍊間笉鍚?<br>bool鍙栧糵alse鍜宼rue錛屾槸0鍜?鐨勫尯鍒?<br>BOOL鍙栧糉ALSE鍜孴RUE錛屾槸0鍜岄潪0鐨勫尯鍒?<br>4銆佷緥瀛?<br>bool x=3;  //鍛婅 <br>bool x=1;  //姝g‘ <br>BOOL x=3;  //姝g‘ <br>BOOL x=3.3;  //鍛婅 <br>娉細(xì)windows涓轟簡鍏煎闂瀹氫箟鐨勫熀紜鍙橀噺銆?<br>typedef unsigned long        DWORD; <br>typedef int                  BOOL; <br>typedef unsigned char        BYTE; <br>typedef unsigned short      WORD; <br>typedef float                FLOAT; <br>typedef FLOAT                *PFLOAT; <br>typedef BOOL near            *PBOOL; <br>typedef BOOL far            *LPBOOL; <br>typedef BYTE near            *PBYTE; <br>typedef BYTE far            *LPBYTE; <br>typedef int near            *PINT; <br>typedef int far              *LPINT; <img src ="http://m.shnenglu.com/Lee7/aggbug/69394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2008-12-14 12:28 <a href="http://m.shnenglu.com/Lee7/archive/2008/12/14/69394.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁版嵁緇撴瀯澶嶄範(fàn)絎旇http://m.shnenglu.com/Lee7/archive/2008/11/24/67741.htmlisabcisabcMon, 24 Nov 2008 08:44:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/11/24/67741.htmlhttp://m.shnenglu.com/Lee7/comments/67741.htmlhttp://m.shnenglu.com/Lee7/archive/2008/11/24/67741.html#Feedback8http://m.shnenglu.com/Lee7/comments/commentRss/67741.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/67741.html闃呰鍏ㄦ枃

isabc 2008-11-24 16:44 鍙戣〃璇勮
]]>
鍫嗗拰鏍堢殑鍖哄埆鍦ㄥ摢閲岋紵 http://m.shnenglu.com/Lee7/archive/2008/11/14/66925.htmlisabcisabcFri, 14 Nov 2008 08:12:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/11/14/66925.htmlhttp://m.shnenglu.com/Lee7/comments/66925.htmlhttp://m.shnenglu.com/Lee7/archive/2008/11/14/66925.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/66925.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/66925.html鍫嗗拰鏍?/span>鐨勫尯鍒湪鍝噷錛?/span>      
     
 
鍝簺鍙橀噺浼?xì)鍦ㄦ爤涓垎閰嵔I洪棿錛屽摢浜涘彉閲忎細(xì)鍦ㄥ爢涓垎閰嶇┖闂?/span>?      
  ---------------------------------------------------------------      
  1
銆?span style="COLOR: maroon">鐢寵鏂瑰紡
         
  stack:          
 
鐢辯郴緇?span style="COLOR: red">鑷姩鍒嗛厤銆?/span>     渚嬪錛屽0鏄庡湪鍑芥暟涓竴涓眬閮ㄥ彉閲?/span>     int     b;     緋葷粺鑷姩鍦ㄦ爤涓負(fù)b寮杈熺┖闂?/span>          
  heap:          
 
闇瑕佺▼搴忓憳鑷繁鐢寵錛屽茍鎸囨槑澶у皬錛屽湪c涓?/span>malloc鍑芥暟          
 
濡?/span>p1 = (char *)malloc(10);     //free     
 
鍦?/span>C++涓敤new榪愮畻絎?/span>           //delete
 
濡?/span>p2 = (char *)malloc(10);          
 
浣嗘槸娉ㄦ剰p1銆?/span>p2鏈韓鏄湪鏍堜腑鐨勩?/span>          
     
  2
銆?span style="COLOR: maroon">鐢寵鍚庣郴緇熺殑鍝嶅簲
         
 
鏍堬細(xì)鍙鏍堢殑鍓╀綑絀洪棿澶т簬鎵鐢寵絀洪棿錛岀郴緇熷皢涓虹▼搴忔彁渚涘唴瀛橈紝鍚﹀垯灝嗘姤寮傚父鎻愮ず鏍堟孩鍑?/span>銆?/span>          
 
鍫嗭細(xì)棣栧厛搴旇鐭ラ亾鎿嶄綔緋葷粺鏈変竴涓?span style="COLOR: red">璁板綍絀洪棽鍐呭瓨鍦板潃鐨勯摼琛?/span>錛屽綋緋葷粺鏀跺埌紼嬪簭鐨勭敵璇鋒椂錛?/span>          
 
浼?xì)閬嶅巻璇ラ摼琛ㄥQ屽鎵劇涓涓┖闂村ぇ浜庢墍鐢寵絀洪棿鐨勫爢緇撶偣錛岀劧鍚庡皢璇ョ粨鐐逛粠絀洪棽緇撶偣閾捐〃涓垹闄わ紝騫跺皢璇ョ粨鐐圭殑絀洪棿鍒嗛厤緇欑▼搴忥紝鍙﹀錛屽浜庡ぇ澶氭暟緋葷粺錛屼細(xì)鍦ㄨ繖鍧楀唴瀛樼┖闂翠腑鐨勯鍦板潃澶勮褰曟湰嬈″垎閰嶇殑澶у皬錛岃繖鏍鳳紝浠g爜涓殑delete璇彞鎵嶈兘姝g‘鐨勯噴鏀炬湰鍐呭瓨絀洪棿銆傚彟澶栵紝鐢變簬鎵懼埌鐨勫爢緇撶偣鐨勫ぇ灝忎笉涓瀹氭濂界瓑浜庣敵璇風(fēng)殑澶у皬錛岀郴緇熶細(xì)鑷姩鐨勫皢澶氫綑鐨勯偅閮ㄥ垎閲嶆柊鏀懼叆絀洪棽閾捐〃涓?/span>          
     
  3
銆?span style="COLOR: maroon">鐢寵澶у皬鐨勯檺鍒?/span>          
 
鏍堬細(xì)鍦?/span>Windows涓?/span>,鏍堟槸鍚戜綆鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄竴鍧楄繛緇殑鍐呭瓨鐨勫尯鍩熴傝繖鍙ヨ瘽鐨勬剰鎬濇槸鏍堥《鐨勫湴鍧鍜屾爤鐨勬渶澶у閲忔槸緋葷粺棰勫厛瑙勫畾濂界殑錛屽湪WINDOWS涓嬶紝鏍堢殑澶у皬鏄?/span>2M錛堜篃鏈夌殑璇存槸1M錛屾諱箣鏄竴涓紪璇戞椂灝辯‘瀹氱殑甯告暟錛夛紝濡傛灉鐢寵鐨勭┖闂磋秴榪囨爤鐨勫墿浣欑┖闂存椂錛屽皢鎻愮ずoverflow銆傚洜姝わ紝鑳戒粠鏍堣幏寰楃殑絀洪棿杈冨皬銆?/span>          
 
鍫嗭細(xì)鍫嗘槸鍚戦珮鍦板潃鎵╁睍鐨勬暟鎹粨鏋勶紝鏄笉榪炵畫鐨勫唴瀛樺尯鍩熴傝繖鏄敱浜庣郴緇熸槸鐢ㄩ摼琛ㄦ潵瀛樺偍鐨勭┖闂插唴瀛樺湴鍧鐨勶紝鑷劧鏄笉榪炵畫鐨勶紝鑰岄摼琛ㄧ殑閬嶅巻鏂瑰悜鏄敱浣庡湴鍧鍚戦珮鍦板潃銆傚爢鐨勫ぇ灝忓彈闄愪簬璁$畻鏈虹郴緇熶腑鏈夋晥鐨勮櫄鎷熷唴瀛樸傜敱姝ゅ彲瑙侊紝鍫嗚幏寰楃殑絀洪棿姣旇緝鐏墊椿錛屼篃姣旇緝澶?/span>銆?/span>          
     
  4
銆?span style="COLOR: maroon">鐢寵鏁堢巼鐨勬瘮杈冿細(xì)
         
 
鏍堢敱緋葷粺鑷姩鍒嗛厤錛?span style="COLOR: red">閫熷害杈冨揩銆備絾紼嬪簭鍛樻槸鏃犳硶鎺у埗鐨勩?/span>          
 
鍫嗘槸鐢?/span>new鍒嗛厤鐨勫唴瀛?/span>錛屼竴鑸?span style="COLOR: red">閫熷害姣旇緝鎱?/span>錛岃屼笖瀹規(guī)槗浜х敓鍐呭瓨紕庣墖,涓嶈繃鐢ㄨ搗鏉ユ渶鏂逛究.          
 
鍙﹀錛屽湪WINDOWS涓嬶紝鏈濂界殑鏂瑰紡鏄敤VirtualAlloc鍒嗛厤鍐呭瓨錛屼粬涓嶆槸鍦ㄥ爢錛屼篃涓嶆槸鍦ㄦ爤鏄洿鎺ュ湪榪涚▼鐨勫湴鍧絀洪棿涓繚鐣欎竴蹇唴瀛橈紝铏界劧鐢ㄨ搗鏉ユ渶涓嶆柟渚褲備絾鏄熷害蹇紝涔熸渶鐏墊椿銆?/span>          
     
  5
銆?span style="COLOR: maroon">鍫嗗拰鏍堜腑鐨勫瓨鍌ㄥ唴瀹?/span>          
 
鏍堬細(xì)鍦ㄥ嚱鏁拌皟鐢ㄦ椂錛岀涓涓繘鏍堢殑鏄富鍑芥暟涓悗鐨勪笅涓鏉℃寚浠わ紙鍑芥暟璋冪敤璇彞鐨勪笅涓鏉″彲鎵ц璇彞錛夌殑鍦板潃錛岀劧鍚庢槸鍑芥暟鐨勫悇涓弬鏁幫紝鍦ㄥぇ澶氭暟鐨?/span>C緙栬瘧鍣ㄤ腑錛屽弬鏁版槸鐢卞彸寰宸﹀叆鏍堢殑錛岀劧鍚庢槸鍑芥暟涓殑灞閮ㄥ彉閲忋傛敞鎰忛潤鎬佸彉閲忔槸涓嶅叆鏍堢殑銆?/span>          
 
褰撴湰嬈″嚱鏁拌皟鐢ㄧ粨鏉熷悗錛屽眬閮ㄥ彉閲忓厛鍑烘爤錛岀劧鍚庢槸鍙傛暟錛屾渶鍚庢爤欏舵寚閽堟寚鍚戞渶寮濮嬪瓨鐨勫湴鍧錛屼篃灝辨槸涓誨嚱鏁頒腑鐨勪笅涓鏉℃寚浠わ紝紼嬪簭鐢辮鐐圭戶緇繍琛屻?/span>          
 
鍫嗭細(xì)涓鑸槸鍦ㄥ爢鐨勫ご閮ㄧ敤涓涓瓧鑺傚瓨鏀懼爢鐨勫ぇ灝忋傚爢涓殑鍏蜂綋鍐呭鏈夌▼搴忓憳瀹夋帓銆?/span>          
     
  6
銆?span style="COLOR: maroon">瀛樺彇鏁堢巼鐨勬瘮杈?/span>          
  char     s1[]     =     "aaaaaaaaaaaaaaa";          
  char     *s2     =     "bbbbbbbbbbbbbbbbb";          
  aaaaaaaaaaa
鏄湪榪愯鏃跺埢璧嬪肩殑錛?/span>          
 
鑰?/span>bbbbbbbbbbb鏄湪緙栬瘧鏃跺氨紜畾鐨勶紱          
 
浣嗘槸錛屽湪浠ュ悗鐨勫瓨鍙栦腑錛屽湪鏍堜笂鐨勬暟緇勬瘮鎸囬拡鎵鎸囧悜鐨勫瓧絎︿覆(渚嬪鍫?/span>)蹇?/span>          
 
姣斿錛?/span>           

  #include           
  
void     main()           
  
{           
  
char     a     =     1;           
  
char     c[]     =     "1234567890";           
  
char     *p     ="1234567890";           
  a     
=     c[1];           
  a     
=     p[1];           
  
return;           
  }
  

         
  鍫嗗拰鏍堢殑鍖哄埆鍙互鐢ㄥ涓嬬殑姣斿柣鏉ョ湅鍑猴細(xì)          
 
浣跨敤鏍堝氨璞℃垜浠幓楗閲屽悆楗紝鍙鐐硅彍錛堝彂鍑虹敵璇鳳級銆佷粯閽便佸拰鍚冿紙浣跨敤錛夛紝鍚冮ケ浜嗗氨璧幫紝涓嶅繀鐞嗕細(xì)鍒囪彍銆佹礂鑿滅瓑鍑嗗宸ヤ綔鍜屾礂紕椼佸埛閿呯瓑鎵熬宸ヤ綔錛屼粬鐨勫ソ澶勬槸蹇嵎錛屼絾鏄嚜鐢卞害灝忋?/span>          
 



isabc 2008-11-14 16:12 鍙戣〃璇勮
]]>
鐢╯tatic澹版槑鐨勫嚱鏁板拰鍙橀噺灝忕粨[杞琞http://m.shnenglu.com/Lee7/archive/2008/11/14/66924.htmlisabcisabcFri, 14 Nov 2008 07:59:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/11/14/66924.htmlhttp://m.shnenglu.com/Lee7/comments/66924.htmlhttp://m.shnenglu.com/Lee7/archive/2008/11/14/66924.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/66924.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/66924.html鐢?/span>static澹版槑鐨勫嚱鏁板拰鍙橀噺灝忕粨

static 澹版槑鐨勫彉閲忓湪C璇█涓湁涓ゆ柟闈?/span>鐨勭壒寰侊細(xì)
銆銆1)銆佸彉閲忎細(xì)琚斁鍦ㄧ▼搴忕殑鍏ㄥ眬瀛樺偍鍖?/span>涓紝榪欐牱鍙互鍦ㄤ笅涓嬈¤皟鐢ㄧ殑鏃跺欒繕鍙互淇濇寔鍘熸潵鐨勮祴鍊?/span>銆傝繖涓鐐規(guī)槸瀹冧笌鍫嗘爤鍙橀噺鍜屽爢鍙橀噺鐨勫尯鍒?/span>
銆銆2)銆佸彉閲忕敤static鍛婄煡緙栬瘧鍣紝鑷繁浠呬粎鍦ㄥ彉閲忕殑浣滅敤鑼冨洿鍐呭彲瑙?/span>銆傝繖涓鐐規(guī)槸瀹冧笌鍏ㄥ眬鍙橀噺鐨勫尯鍒?/span>
Tips:
銆銆A.鑻ュ叏灞鍙橀噺浠呭湪鍗曚釜C鏂囦歡涓闂紝鍒欏彲浠ュ皢榪欎釜鍙橀噺淇敼涓洪潤鎬佸叏灞鍙橀噺錛屼互闄嶄綆妯″潡闂寸殑鑰﹀悎搴︼紱
銆銆B.鑻ュ叏灞鍙橀噺浠呯敱鍗曚釜鍑芥暟璁塊棶錛屽垯鍙互灝嗚繖涓彉閲忔敼涓鴻鍑芥暟鐨勯潤鎬佸眬閮ㄥ彉閲忥紝浠ラ檷浣庢ā鍧楅棿鐨勮﹀悎搴︼紱
銆銆C.璁捐鍜屼嬌鐢ㄨ闂姩鎬佸叏灞鍙橀噺銆侀潤鎬佸叏灞鍙橀噺銆侀潤鎬佸眬閮ㄥ彉閲忕殑鍑芥暟鏃訛紝闇瑕佽冭檻閲嶅叆闂錛?/span>
        D.
濡傛灉鎴戜滑闇瑕佷竴涓彲閲嶅叆鐨勫嚱鏁幫紝閭d箞錛屾垜浠竴瀹氳閬垮厤鍑芥暟涓嬌鐢?/span>static鍙橀噺(榪欐牱鐨勫嚱鏁拌縐頒負(fù)錛氬甫鍐呴儴瀛樺偍鍣?/span>鍔熻兘鐨勭殑鍑芥暟)
        E.
鍑芥暟涓繀欏昏浣跨敤static鍙橀噺鎯呭喌:姣斿褰撴煇鍑芥暟鐨勮繑鍥炲間負(fù)鎸囬拡綾誨瀷鏃訛紝鍒欏繀欏繪槸static鐨勫眬閮ㄥ彉閲忕殑鍦板潃浣滀負(fù)榪斿洖鍊鹼紝鑻ヤ負(fù)auto綾誨瀷錛屽垯榪斿洖涓洪敊鎸囬拡銆?/span>

鍑芥暟鍓嶅姞static浣垮緱鍑芥暟鎴愪負(fù)闈欐佸嚱鏁?/span>銆備絾姝ゅ“static”鐨勫惈涔?span style="COLOR: red">涓嶆槸鎸囧瓨鍌ㄦ柟寮?/span>錛岃屾槸鎸囧鍑芥暟鐨?span style="COLOR: red">浣滅敤鍩熶粎灞闄愪簬鏈枃浠?/span>(鎵浠ュ張縐板唴閮ㄥ嚱鏁?/span>)銆備嬌鐢ㄥ唴閮ㄥ嚱鏁扮殑濂藉鏄細(xì)涓嶅悓鐨勪漢緙栧啓涓嶅悓鐨勫嚱鏁版椂錛屼笉鐢ㄦ媴蹇冭嚜宸卞畾涔夌殑鍑芥暟錛屾槸鍚︿細(xì)涓庡叾瀹冩枃浠朵腑鐨勫嚱鏁板悓鍚嶃?/span>

鎵╁睍鍒嗘瀽:鏈static鏈夌潃涓嶅甯哥殑鍘嗗彶.璧峰垵錛屽湪C涓紩鍏ュ叧閿瓧static鏄負(fù)浜嗚〃紺洪鍑轟竴涓潡鍚庝粛鐒跺瓨鍦ㄧ殑灞閮ㄥ彉閲忋傞殢鍚庯紝static鍦?/span>C涓湁浜嗙浜岀鍚箟錛氱敤鏉ヨ〃紺轟笉鑳借鍏跺畠鏂囦歡璁塊棶鐨勫叏灞鍙橀噺鍜屽嚱鏁般備負(fù)浜嗛伩鍏嶅紩鍏ユ柊鐨勫叧閿瓧錛屾墍浠ヤ粛浣跨敤static鍏抽敭瀛楁潵琛ㄧず榪欑浜岀鍚箟銆傛渶鍚庯紝C++閲嶇敤浜嗚繖涓叧閿瓧錛屽茍璧嬩簣瀹冧笌鍓嶉潰涓嶅悓鐨勭涓夌鍚箟錛氳〃紺哄睘浜庝竴涓被鑰屼笉鏄睘浜庢綾葷殑浠諱綍鐗瑰畾瀵硅薄鐨勫彉閲忓拰鍑芥暟(涓?/span>Java涓鍏抽敭瀛楃殑鍚箟鐩稿悓)銆?/span>

鍏ㄥ眬鍙橀噺銆侀潤鎬佸叏灞鍙橀噺銆侀潤鎬佸眬閮ㄥ彉閲忓拰灞閮ㄥ彉閲忕殑鍖哄埆

鍙橀噺鍙互鍒嗕負(fù)錛氬叏灞鍙橀噺銆侀潤鎬佸叏灞鍙橀噺銆侀潤鎬佸眬閮ㄥ彉閲忓拰灞閮ㄥ彉閲忋?/span>
         
鎸?span style="COLOR: red">瀛樺偍鍖哄煙鍒嗭紝鍏ㄥ眬鍙橀噺銆侀潤鎬佸叏灞鍙橀噺鍜岄潤鎬佸眬閮ㄥ彉閲忛兘瀛樻斁鍦ㄥ唴瀛樼殑闈欐佸瓨鍌ㄥ尯鍩?/span>錛屽眬閮ㄥ彉閲忓瓨鏀懼湪鍐呭瓨鐨?span style="COLOR: red">鏍堝尯銆?/span>
         
鎸?span style="COLOR: red">浣滅敤鍩?/span>鍒嗭紝鍏ㄥ眬鍙橀噺鍦ㄦ暣涓伐紼嬫枃浠跺唴閮芥湁鏁堬紱闈欐佸叏灞鍙橀噺鍙湪瀹氫箟瀹冪殑鏂囦歡鍐呮湁鏁堬紱闈欐佸眬閮ㄥ彉閲忓彧鍦ㄥ畾涔夊畠鐨勫嚱鏁板唴鏈夋晥錛屽彧鏄▼搴忎粎鍒嗛厤涓嬈″唴瀛橈紝鍑芥暟榪斿洖鍚庯紝璇ュ彉閲忎笉浼?xì)娑堝け锛涘眬閮ㄥ彉閲忓湪瀹氫箟瀹冪殑鍑芥暟鍐呮湁鏁堬紝浣嗘槸鍑芥暟榪斿洖鍚庡け鏁?/span>銆?/span>

鍏ㄥ眬鍙橀噺(澶栭儴鍙橀噺)鐨勮鏄庝箣鍓嶅啀鍐犱互static 灝辨瀯鎴愪簡闈欐佺殑鍏ㄥ眬鍙橀噺銆傚叏灞鍙橀噺鏈韓灝辨槸闈欐佸瓨鍌ㄦ柟寮忥紝 闈欐佸叏灞鍙橀噺褰撶劧涔熸槸闈欐佸瓨鍌ㄦ柟寮忋?/span> 榪欎袱鑰呭湪瀛樺偍鏂瑰紡涓婂茍鏃犱笉鍚屻傝繖涓よ呯殑鍖哄埆铏藉湪浜庨潪闈欐佸叏灞鍙橀噺鐨勪綔鐢ㄥ煙鏄暣涓簮紼嬪簭錛?/span> 褰撲竴涓簮紼嬪簭鐢卞涓簮鏂囦歡緇勬垚鏃訛紝闈為潤鎬佺殑鍏ㄥ眬鍙橀噺鍦ㄥ悇涓簮鏂囦歡涓兘鏄湁鏁堢殑銆?/span> 鑰岄潤鎬佸叏灞鍙橀噺鍒欓檺鍒朵簡鍏朵綔鐢ㄥ煙錛?/span> 鍗沖彧鍦ㄥ畾涔夎鍙橀噺鐨勬簮鏂囦歡鍐呮湁鏁堬紝 鍦ㄥ悓涓婧愮▼搴忕殑鍏跺畠婧愭枃浠朵腑涓嶈兘浣跨敤瀹冦傜敱浜庨潤鎬佸叏灞鍙橀噺鐨勪綔鐢ㄥ煙灞闄愪簬涓涓簮鏂囦歡鍐咃紝鍙兘涓鴻婧愭枃浠跺唴鐨勫嚱鏁板叕鐢紝 鍥犳鍙互閬垮厤鍦ㄥ叾瀹冩簮鏂囦歡涓紩璧烽敊璇?/span>

銆銆浠庝互涓婂垎鏋愬彲浠ョ湅鍑猴紝 鎶婂眬閮ㄥ彉閲忔敼鍙樹負(fù)闈欐佸彉閲忓悗鏄敼鍙樹簡瀹冪殑瀛樺偍鏂瑰紡鍗蟲敼鍙樹簡瀹冪殑鐢熷瓨鏈?/span>銆傛妸鍏ㄥ眬鍙橀噺鏀瑰彉涓洪潤鎬佸彉閲忓悗鏄敼鍙樹簡瀹冪殑浣滅敤鍩?/span>錛?/span> 闄愬埗浜嗗畠鐨勪嬌鐢ㄨ寖鍥淬?/span>

銆銆static鍑芥暟涓庢櫘閫氬嚱鏁頒綔鐢ㄥ煙涓嶅悓銆?span style="COLOR: red">浠呭湪鏈枃浠躲傚彧鍦ㄥ綋鍓嶆簮鏂囦歡涓嬌鐢ㄧ殑鍑芥暟搴旇璇存槑涓哄唴閮ㄥ嚱鏁?/span>(static)錛屽唴閮ㄥ嚱鏁板簲璇ュ湪褰撳墠婧愭枃浠朵腑璇存槑鍜屽畾涔夈傚浜庡彲鍦ㄥ綋鍓嶆簮鏂囦歡浠ュ浣跨敤鐨勫嚱鏁幫紝搴旇鍦ㄤ竴涓ご鏂囦歡涓鏄庯紝瑕佷嬌鐢ㄨ繖浜涘嚱鏁扮殑婧愭枃浠惰鍖呭惈榪欎釜澶存枃浠?/span>

銆銆static鍏ㄥ眬鍙橀噺涓庢櫘閫氱殑鍏ㄥ眬鍙橀噺鏈変粈涔堝尯鍒細(xì)static鍏ㄥ眬鍙橀噺鍙垵濮嬪寲涓嬈★紝闃叉鍦ㄥ叾浠栨枃浠跺崟鍏冧腑琚紩鐢?/span>;
銆銆static灞閮ㄥ彉閲忓拰鏅氬眬閮ㄥ彉閲忔湁浠涔堝尯鍒細(xì)static灞閮ㄥ彉閲忓彧琚垵濮嬪寲涓嬈★紝涓嬩竴嬈′緷鎹笂涓嬈$粨鏋滃鹼紱
       static
鍑芥暟涓庢櫘閫氬嚱鏁版湁浠涔堝尯鍒細(xì)static鍑芥暟鍦ㄥ唴瀛樹腑鍙湁涓浠斤紝鏅氬嚱鏁板湪姣忎釜琚皟鐢ㄤ腑緇存寔涓浠芥嫹璐?/span>
       
鍏ㄥ眬鍙橀噺鍜岄潤鎬佸彉閲忓鏋滄病鏈夋墜宸ュ垵濮嬪寲錛?span style="COLOR: red">鍒欑敱緙栬瘧鍣ㄥ垵濮嬪寲涓?/span>0銆傚眬閮ㄥ彉閲忕殑鍊間笉鍙煡銆?/span>

 

 



isabc 2008-11-14 15:59 鍙戣〃璇勮
]]>
vc鏁版嵁綾誨瀷杞崲澶у叏http://m.shnenglu.com/Lee7/archive/2008/10/23/64807.htmlisabcisabcThu, 23 Oct 2008 06:27:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/10/23/64807.htmlhttp://m.shnenglu.com/Lee7/comments/64807.htmlhttp://m.shnenglu.com/Lee7/archive/2008/10/23/64807.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/64807.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/64807.html闃呰鍏ㄦ枃

isabc 2008-10-23 14:27 鍙戣〃璇勮
]]>
More Effective C++錛氭寚閽堜笌寮曠敤鐨勫尯鍒?/title><link>http://m.shnenglu.com/Lee7/archive/2008/09/02/60717.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Tue, 02 Sep 2008 09:35:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2008/09/02/60717.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/60717.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2008/09/02/60717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/60717.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/60717.html</trackback:ping><description><![CDATA[     鎽樿: 鎸囬拡涓庡紩鐢ㄧ湅涓婂幓瀹屽叏涓嶅悓錛堟寚閽堢敤鎿嶄綔絎︹?鈥欏拰鈥?>鈥欙紝寮曠敤浣跨敤鎿嶄綔絎︹?鈥欙級錛屼絾鏄畠浠技涔庢湁鐩稿悓鐨勫姛鑳姐傛寚閽堜笌寮曠敤閮芥槸璁╀綘闂存帴寮曠敤鍏朵粬瀵硅薄銆備綘濡備綍鍐沖畾鍦ㄤ粈涔堟椂鍊欎嬌鐢ㄦ寚閽堬紝鍦ㄤ粈涔堟椂鍊欎嬌鐢ㄥ紩鐢ㄥ憿錛?<br>  <a href='http://m.shnenglu.com/Lee7/archive/2008/09/02/60717.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/Lee7/aggbug/60717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2008-09-02 17:35 <a href="http://m.shnenglu.com/Lee7/archive/2008/09/02/60717.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍫嗐佹爤鍙?qiáng)闈欐佹暟鎹尯璇﹁В http://m.shnenglu.com/Lee7/archive/2008/08/31/60530.htmlisabcisabcSun, 31 Aug 2008 13:43:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/08/31/60530.htmlhttp://m.shnenglu.com/Lee7/comments/60530.htmlhttp://m.shnenglu.com/Lee7/archive/2008/08/31/60530.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/60530.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/60530.html闃呰鍏ㄦ枃

isabc 2008-08-31 21:43 鍙戣〃璇勮
]]>
DllMain璇﹁Вhttp://m.shnenglu.com/Lee7/archive/2008/08/04/57927.htmlisabcisabcMon, 04 Aug 2008 01:26:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/08/04/57927.htmlhttp://m.shnenglu.com/Lee7/comments/57927.htmlhttp://m.shnenglu.com/Lee7/archive/2008/08/04/57927.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/57927.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/57927.htmlThe DllMain function is an optional method of entry into a dynamic-link library (DLL)銆傦紙綆瑕佺炕璇戯細(xì)瀵逛簬涓涓狣ll妯″潡錛孌llMain鍑芥暟鏄彲閫夌殑銆傦級榪欏彞璇濆緢閲嶈錛屽緢澶氬垵瀛﹁呭彲鑳介兘璁や負(fù)涓涓姩鎬侀摼鎺ュ簱鑲畾瑕佹湁DllMain鍑芥暟銆傚叾瀹炰笉鐒?dòng)灱屽儚寰堝浠呬粎鍖呭惈璧勬簮淇℃伅鐨凞LL鏄病鏈塂llMain鍑芥暟鐨?nbsp; 闃呰鍏ㄦ枃

isabc 2008-08-04 09:26 鍙戣〃璇勮
]]>
VC++鍔ㄦ侀摼鎺ュ簱(DLL)緙栫▼娣卞叆嫻呭嚭http://m.shnenglu.com/Lee7/archive/2008/07/07/55543.htmlisabcisabcMon, 07 Jul 2008 07:39:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/07/07/55543.htmlhttp://m.shnenglu.com/Lee7/comments/55543.htmlhttp://m.shnenglu.com/Lee7/archive/2008/07/07/55543.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/55543.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/55543.html 闈欐侀摼鎺ュ簱涓庡姩鎬侀摼鎺ュ簱閮芥槸鍏變韓浠g爜鐨勬柟寮忥紝濡傛灉閲囩敤闈欐侀摼鎺ュ簱錛屽垯鏃犺浣犳効涓嶆効鎰忥紝lib涓殑鎸囦護(hù)閮借鐩存帴鍖呭惈鍦ㄦ渶緇堢敓鎴愮殑EXE鏂囦歡涓簡銆備絾鏄嫢浣跨敤DLL錛岃DLL涓嶅繀琚寘鍚湪鏈緇圗XE鏂囦歡涓紝EXE鏂囦歡鎵ц鏃跺彲浠モ滃姩鎬佲濆湴寮曠敤鍜屽嵏杞借繖涓笌EXE鐙珛鐨凞LL鏂囦歡銆傞潤鎬侀摼鎺ュ簱鍜屽姩鎬侀摼鎺ュ簱鐨勫彟澶栦竴涓尯鍒湪浜庨潤鎬侀摼鎺ュ簱涓笉鑳藉啀鍖呭惈鍏朵粬鐨勫姩鎬侀摼鎺ュ簱鎴栬呴潤鎬佸簱錛岃屽湪鍔ㄦ侀摼鎺ュ簱涓繕鍙互鍐嶅寘鍚叾浠栫殑鍔ㄦ佹垨闈欐侀摼鎺ュ簱銆?nbsp; 闃呰鍏ㄦ枃

isabc 2008-07-07 15:39 鍙戣〃璇勮
]]>
vc dll緙栫▼http://m.shnenglu.com/Lee7/archive/2008/07/04/55361.htmlisabcisabcFri, 04 Jul 2008 09:54:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/07/04/55361.htmlhttp://m.shnenglu.com/Lee7/comments/55361.htmlhttp://m.shnenglu.com/Lee7/archive/2008/07/04/55361.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/55361.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/55361.html1.Non-MFC Dlls
2.Regular Dlls
3.Extension Dlls Note:緲昏瘧鎺緸涓嶅綋錛屾晠閬囧埌鏈鏄紩鐢ㄥ師璇?

Non-MFC DLL:鎸囩殑鏄笉鐢∕FC鐨勭被搴撶粨鏋勶紝鐩存帴鐢–璇█鍐欑殑DLL錛屽叾杈撳嚭鐨勫嚱鏁頒竴鑸敤鐨勬槸鏍囧噯C鎺ュ彛錛屽茍鑳借闈濵FC鎴朚FC緙栧啓鐨勫簲鐢ㄧ▼搴忔墍璋冪敤銆侺L錛孯egular DLL:鍜屼笅榪扮殑Extension Dlls涓鏍鳳紝鏄敤MFC綾誨簱緙栧啓鐨勩傛槑鏄劇殑鐗圭偣鏄湪婧愭枃浠墮噷鏈変竴涓戶鎵緾WinApp鐨勭被銆傚叾鍙堝彲緇嗗垎鎴愰潤鎬佽繛鎺ュ埌MFC鍜屽姩鎬佽繛鎺ュ埌MFC涓婄殑銆備絾闈欐佽繛鎺ュ埌MFC鐨勫姩鎬佽繛  闃呰鍏ㄦ枃

isabc 2008-07-04 17:54 鍙戣〃璇勮
]]>
VC涔婦LL緙栫▼http://m.shnenglu.com/Lee7/archive/2008/06/20/54127.htmlisabcisabcFri, 20 Jun 2008 06:07:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/06/20/54127.htmlhttp://m.shnenglu.com/Lee7/comments/54127.htmlhttp://m.shnenglu.com/Lee7/archive/2008/06/20/54127.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/54127.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/54127.html
鍔ㄦ佽繛鎺ュ簱錛氬涓簲鐢ㄧ▼搴忓彲浠ュ叡浜竴浠藉嚱鏁板簱鐨勫浠姐?
  闃呰鍏ㄦ枃

isabc 2008-06-20 14:07 鍙戣〃璇勮
]]>
CFileFind綾葷殑浣跨敤鎬葷粨[杞琞http://m.shnenglu.com/Lee7/archive/2008/05/27/51295.htmlisabcisabcTue, 27 May 2008 09:05:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/27/51295.htmlhttp://m.shnenglu.com/Lee7/comments/51295.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/27/51295.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/51295.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/51295.htmlCFileFind綾葷殑浣跨敤鎬葷粨
2007-7-7
1銆?/span>CFileFind綾葷殑澹版槑鏂囦歡淇濆瓨鍦?/span>afx.h澶存枃浠朵腑銆?/span>
2銆佽綾葷殑瀹炵幇鐨勫姛鑳斤細(xì)鎵ц鏈湴鏂囦歡鐨勬煡鎵?/span>(鏌ユ壘鏌愪釜鍏蜂綋鐨勬枃浠訛紝鏌ユ壘鏌愮被鏂囦歡x*.x*錛屾煡鎵炬墍鏈夋枃浠?/span>*.*)
3銆?/span>CFileFind綾繪槸CGopherFileFind鍜?/span>CFtpFileFind綾葷殑鍩虹被銆?/span>
4銆?/span>CFileFind綾葷殑鏋勯犲嚱鏁?/span>::CFileFind()鍜屽叧闂嚱鏁?/span>::Close()鎴戜細(xì)鎴愬浣跨敤銆?/span>
5銆?/span>CFileFind綾葷殑鎴愬憳鍑芥暟鎴戞牴鎹叾鎿嶄綔鐗規(guī)у垝鍒嗕負(fù)錛撶被錛氭煡鎵炬搷浣滅被銆佽幏寰楁枃浠跺睘鎬х被銆佸垽鏂枃浠跺睘鎬х被銆?/span>(涓嬮潰鎴戝厛榪涜鍑芥暟緗楀垪騫舵病鏈夊畬鏁寸殑鎻忚堪鍑芥暟鐨勫弬鏁?/span>)
鏌ユ壘鎿嶄綔綾?/span>
      ::FindFile();
      ::FindNextFile();
鑾峰緱鏂囦歡灞炴х被
      ::GetCreationTime();
      ::GetLastAccessTime();
      ::GetLastWriteTime();
::GetFileName();
::GetRoot();
      ::GetFilePath();
      ::GetFileTitle();
      ::GetFileURL();
      ::GetLength();
     
鍒ゆ柇鏂囦歡灞炴х被
      ::IsArchived();
      ::IsCompressed();
      ::IsDirectory();
      ::IsDots();
      ::IsHidden();
      ::IsNormal();
      ::IsReadOnly();
      ::IsSystem();
      ::IsTemporary();
      ::MatchesMask();
6銆?/span>CFileFind綾諱腑鎴愬憳鍑芥暟浣跨敤搴旀敞鎰忕殑欏哄簭
      鍦ㄥ垱寤轟簡CFileFind瀵硅薄鍚庯紝鍏堟墽琛?/span>::FindFile()鍑芥暟錛岀劧鍚庢墽琛?/span>::FindNextFile()錛岀劧鍚庨夋嫨鎵ц錛堣幏寰楁枃浠跺睘鎬х被錛夌殑鍑芥暟鎴栬咃紙鍒ゆ柇鏂囦歡灞炴х被錛夊嚱鏁般?/span>
7銆?/span>CFileFind綾繪垚鍛樺嚱鏁扮殑璇︾粏鍒嗘瀽
virtual BOOL FindFile(LPCTSTR pstrName = null,DWORD dwUnused = 0);
璇ュ嚱鏁拌嫢榪斿洖闈?/span>0 鍒欒〃鏄庢墽琛屾垚鍔燂紝0 鍒欒〃鏄庢墽琛屼笉鎴愬姛銆?/span>
pstrName錛氶渶瑕佹煡鎵劇殑鏂囦歡鍚嶏紝渚嬶細(xì)“E:\\緙栫▼宸ュ叿\\VC++\\MFC渚嬪瓙.rar”錛?#8220;E:\\緙栫▼宸ュ叿\\VC++\\MFC*.rar”錛?#8220;E:\\緙栫▼宸ュ叿\\VC++\\*.*”錛屼篃鍙互鏄?/span>NULL琛ㄧず“*.*”銆?/span>
dwUnused錛氬繀欏諱負(fù)0
 
virtual BOOL FindNextFile();
璇ュ嚱鏁拌繑鍥炲?/span>闈?/span>0 榪樻湁絎﹀悎鏉′歡鐨勬枃浠?/span>錛?/span> 0琛ㄧず鏄渶鍚庝竴涓枃浠躲?/span>
 
virtual BOOL GetCreationTime(FILETIME *pFileTime) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煡鎵懼埌鐨勬煇涓枃浠剁殑鍒涘緩鏃墮棿錛岃繑鍥炲?/span>闈?/span>0 鑾峰緱鍒涘緩鏃墮棿鎴愬姛鎿嶄綔錛?/span>0琛ㄧず鎵ц鑾峰緱鍒涘緩鏃墮棿澶辮觸鎴栬?/span>FindNextFile()娌℃湁琚墽琛岀殑鏃跺欍?/span>
FILETIME  *錛氬綰蟲椂闂寸殑緇撴瀯鎸囬拡
CTime&錛氬綰蟲椂闂寸殑瀵硅薄鍦板潃
姝ゅ浠嬬粛錛?/span>FILETIME鍜?/span>CTime鐩鎬簰杞崲鐨勫鐞嗘柟娉曪細(xì)
FILETIME杞?/span>CTime鐨勬柟娉曪細(xì)
A銆?/span>CTime瀵硅薄鍦ㄥ垵濮嬪寲鏃跺彲浠ヤ紶閫?/span>FILETIME緇撴瀯
      FILETIME ft錛?/span>
      CTime time(ft)錛?/span>
B銆佸皢FILETIME杞崲涓?/span>SYSTEMTIME錛岀劧鍚?/span>CTime瀵硅薄鍦ㄥ垵濮嬪寲鏃跺彲浠ヤ紶閫?/span>SYSTEMTIME緇撴瀯
      FILETIME ft錛?/span>
      SYSTEMTIME st錛?/span>
      BOOL bSuccess 錛?/span> ::FileTimeToSystemTime(&ft , &st);
      CTime time(st)錛?/span>
CTime杞?/span>FILETIME鏂規(guī)硶錛?/span>
CTime time(CTime::GetCurrentTime());
SYSTEMTIME st;
time.GetAsSystemTime(st);
FILETIME ft;
::SystemTimeToFileTime(&st,&ft);
 
virtual BOOL GetLastAccessTime(FILETIME *pFileTime) const;
virtual BOOL GetLastAccessTime(CTime& refTime) const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煇涓枃浠舵渶鍚庤璁塊棶鐨勬椂闂達(dá)紝闈?/span>0琛ㄧず鎵ц鎴愬姛錛?/span>0琛ㄧず鎵ц澶辮觸鎴栬?/span>FindNextFile()鍑芥暟娌℃湁鎵ц鐨勬椂鍊欍?/span>
 
virtual BOOL GetLastWriteTime(FILETIME *pFileTime) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煇涓枃浠舵渶鍚庤璁塊棶鐨勬椂闂達(dá)紝闈?/span>0琛ㄧず鎵ц鎴愬姛錛?/span>0琛ㄧず鎵ц澶辮觸鎴栬?/span>FindNextFile()鍑芥暟娌℃湁鎵ц鐨勬椂鍊欍?/span>
 
virtual CString GetFilePath() const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煡鎵懼埌鐨勬枃浠剁粷瀵硅礬寰勶紝蹇呴』鍦ㄦ墽琛屼簡FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛銆?/span>
榪斿洖鐨勭粨鏋滄槸CString瀵硅薄錛屼緥“E:\\緙栫▼宸ュ叿\\VC++\\MFC.rar
 
virtual CString GetFileName() const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煡鎵懼埌鐨勬枃浠剁殑鍏ㄧО錛屽繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛銆?/span>
榪斿洖鐨勭粨鏋滄槸CString瀵硅薄錛屼緥“MFC.rar
 
virtual CString GetFileTitle() const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煡鎵懼埌鐨勬枃浠剁殑鍚嶇О錛屽繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛銆?/span>
榪斿洖鐨勭粨鏋滄槸CString瀵硅薄錛屼緥“MFC
 
virtual CString GetRoot() const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煡鎵懼埌鐨勬枃浠剁殑鏍圭洰褰曪紝蹇呴』鍦ㄦ墽琛屼簡FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛銆?/span>
榪斿洖鐨勭粨鏋滄槸CString瀵硅薄錛屼緥“E:\\緙栫▼宸ュ叿\\VC++\\
 
virtual CString GetFileURL() const;
璇ュ嚱鏁扮敤鏉ヨ幏寰楁煡鎵懼埌鐨勬枃浠剁殑URL璺緞錛屽繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛銆?/span>
榪斿洖鐨勭粨鏋滄槸CString瀵硅薄錛屼緥“file://E:\\緙栫▼宸ュ叿\\VC++\\MFC.rar
 
DWORD GetLength() const;
璇ュ嚱鏁拌繑鍥炲艱幏寰楁煡鎵懼埌鐨勬枃浠剁殑闀垮害錛屽繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛銆?/span>
 
BOOL IsArchived() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚︽槸妗f鏂囦歡錛岄潪0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL  IsCompressed() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚︽槸鍘嬬緝鏂囦歡錛岄潪0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL IsDirectory() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚︽槸璺緞鏂囦歡錛岄潪0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL IsDots() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚︽槸“.”錛?#8220;..”錛岄潪0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL IsHidden() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚﹂殣钘忔枃浠訛紝闈?/span>0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL IsNormal() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚︽甯告枃浠訛紝闈?/span>0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL IsReadOnly() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚﹀彧璇繪枃浠訛紝闈?/span>0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL IsSystem() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚︾郴緇熸枃浠訛紝闈?/span>0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL IsTemporary() const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡灞炴ф槸鍚︿復(fù)鏃舵枃浠訛紝闈?/span>0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
 
BOOL MatchesMask(DWORD dwMask) const;
璇ュ嚱鏁扮敤鏉ュ垽鏂煡鎵劇殑鏂囦歡鐨勭患鍚堝睘鎬э紝闈?/span>0琛ㄧず鏄紝0琛ㄧず涓嶆槸銆傚繀欏誨湪鎵ц浜?/span>FindNextFile()鍚庤鍑芥暟鎵嶈兘鎵ц鎴愬姛
dwMask鍙傛暟鐨勪嬌鐢ㄦ柟娉曪細(xì)鍑犵鏂囦歡灞炴ч噰鐢ㄦ垨榪愮畻錛?/span>|錛?/span>
鏂囦歡灞炴х殑緇撴瀯瀹氫箟錛?/span>
      FILE_ATTRIBUTE_ARCHIVE錛氭。妗堟枃浠?/span>
      FILE_ATTRIBUTE_COMPRESSED錛氬帇緙╂枃浠?/span>
      FILE_ATTRIBUTE_DIRECTORY錛氳礬寰勬枃浠?/span>
      FILE_ATTRIBUTE_NORMAL錛氭甯告枃浠?/span>
      FILE_ATTRIBUTE_READONLY錛氬彧璇繪枃浠?/span>
      FILE_ATTRIBUTE_SYSTEM錛氱郴緇熸枃浠?/span>
      FILE_ATTRIBUTE_TEMPORARY錛氫復(fù)鏃舵枃浠?/span>
      FILE_ATTRIBUTE_HIDDEN錛氶殣钘忔枃浠?/span>
 


isabc 2008-05-27 17:05 鍙戣〃璇勮
]]>
浣犱細(xì)鐢╯izeof鍚楋紵錛坴c綃囷級http://m.shnenglu.com/Lee7/archive/2008/05/25/51077.htmlisabcisabcSun, 25 May 2008 13:55:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/25/51077.htmlhttp://m.shnenglu.com/Lee7/comments/51077.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/25/51077.html#Feedback1http://m.shnenglu.com/Lee7/comments/commentRss/51077.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/51077.html

浣犱細(xì)鐢╯izeof鍚楋紵錛坴c綃囷級

 
鏈枃涓昏鍖呮嫭浜屼釜閮ㄥ垎錛岀涓閮ㄥ垎閲嶇偣浠嬬粛鍦╒C涓紝鎬庝箞鏍烽噰鐢╯izeof鏉ユ眰緇撴瀯鐨勫ぇ灝忥紝浠ュ強(qiáng)瀹規(guī)槗鍑虹幇鐨勯棶棰橈紝騫剁粰鍑鴻В鍐抽棶棰樼殑鏂規(guī)硶錛岀浜岄儴鍒嗘葷粨鍑篤C涓璼izeof鐨勪富瑕佺敤娉曘?br>
1銆?sizeof搴旂敤鍦ㄧ粨鏋勪笂鐨勬儏鍐?br>
璇風(fēng)湅涓嬮潰鐨勭粨鏋勶細(xì)

struct MyStruct

{

double dda1;

char dda;

int type

};

瀵圭粨鏋凪yStruct閲囩敤sizeof浼?xì)鍑虹庮C粈涔堢粨鏋滃憿錛焥izeof(MyStruct)涓哄灝戝憿錛熶篃璁鎬綘浼?xì)杩欐犱h眰錛?br>
sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13

浣嗘槸褰撳湪VC涓祴璇曚笂闈㈢粨鏋勭殑澶у皬鏃訛紝浣犱細(xì)鍙戠幇sizeof(MyStruct)涓?6銆備綘鐭ラ亾涓轟粈涔堝湪VC涓細(xì)寰楀嚭榪欐牱涓涓粨鏋滃悧錛?br>
鍏跺疄錛岃繖鏄疺C瀵瑰彉閲忓瓨鍌ㄧ殑涓涓壒孌婂鐞嗐備負(fù)浜嗘彁楂楥PU鐨勫瓨鍌ㄩ熷害錛孷C瀵逛竴浜涘彉閲忕殑璧峰鍦板潃鍋氫簡“瀵歸綈”澶勭悊銆傚湪榛樿鎯呭喌涓嬶紝VC瑙勫畾鍚勬垚鍛樺彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺蹇呴』涓鴻鍙橀噺鐨勭被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟鐨勫嶆暟銆備笅闈㈠垪鍑哄父鐢ㄧ被鍨嬬殑瀵歸綈鏂瑰紡(vc6.0,32浣嶇郴緇?銆?br>
綾誨瀷
瀵歸綈鏂瑰紡錛堝彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺錛?br>
Char
鍋忕Щ閲忓繀欏諱負(fù)sizeof(char)鍗?鐨勫嶆暟

int
鍋忕Щ閲忓繀欏諱負(fù)sizeof(int)鍗?鐨勫嶆暟

float
鍋忕Щ閲忓繀欏諱負(fù)sizeof(float)鍗?鐨勫嶆暟

double
鍋忕Щ閲忓繀欏諱負(fù)sizeof(double)鍗?鐨勫嶆暟

Short
鍋忕Щ閲忓繀欏諱負(fù)sizeof(short)鍗?鐨勫嶆暟



鍚勬垚鍛樺彉閲忓湪瀛樻斁鐨勬椂鍊欐牴鎹湪緇撴瀯涓嚭鐜扮殑欏哄簭渚濇鐢寵絀洪棿錛屽悓鏃舵寜鐓т笂闈㈢殑瀵歸綈鏂瑰紡璋冩暣浣嶇疆錛岀┖緙虹殑瀛楄妭VC浼?xì)鑷姩濉厖銆傚悓鏃禫C涓轟簡紜繚緇撴瀯鐨勫ぇ灝忎負(fù)緇撴瀯鐨勫瓧鑺傝竟鐣屾暟錛堝嵆璇ョ粨鏋勪腑鍗犵敤鏈澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛夌殑鍊嶆暟錛屾墍浠ュ湪涓烘渶鍚庝竴涓垚鍛樺彉閲忕敵璇風(fēng)┖闂村悗錛岃繕浼?xì)鏍规嵁闇瑕佽嚜鍔ㄥ~鍏呯┖緙虹殑瀛楄妭銆?br>
涓嬮潰鐢ㄥ墠闈㈢殑渚嬪瓙鏉ヨ鏄嶸C鍒板簳鎬庝箞鏍鋒潵瀛樻斁緇撴瀯鐨勩?br>
struct MyStruct

{

double dda1;

char dda;

int type

}錛?br>
涓轟笂闈㈢殑緇撴瀯鍒嗛厤絀洪棿鐨勬椂鍊欙紝VC鏍規(guī)嵁鎴愬憳鍙橀噺鍑虹幇鐨勯『搴忓拰瀵歸綈鏂瑰紡錛屽厛涓虹涓涓垚鍛榙da1鍒嗛厤絀洪棿錛屽叾璧峰鍦板潃璺熺粨鏋勭殑璧峰鍦板潃鐩稿悓錛堝垰濂藉亸縐婚噺0鍒氬ソ涓簊izeof(double)鐨勫嶆暟錛夛紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(double)=8涓瓧鑺傦紱鎺ヤ笅鏉ヤ負(fù)絎簩涓垚鍛榙da鍒嗛厤絀洪棿錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?錛屾槸sizeof(char)鐨勫嶆暟錛屾墍浠ユ妸dda瀛樻斁鍦ㄥ亸縐婚噺涓?鐨勫湴鏂規(guī)弧瓚沖榻愭柟寮忥紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(char)=1涓瓧鑺傦紱鎺ヤ笅鏉ヤ負(fù)絎笁涓垚鍛榯ype鍒嗛厤絀洪棿錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?錛屼笉鏄痵izeof(int)=4鐨勫嶆暟錛屼負(fù)浜嗘弧瓚沖榻愭柟寮忓鍋忕Щ閲忕殑綰︽潫闂錛孷C鑷姩濉厖3涓瓧鑺傦紙榪欎笁涓瓧鑺傛病鏈夋斁浠涔堜笢瑗匡級錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?2錛屽垰濂芥槸sizeof(int)=4鐨勫嶆暟錛屾墍浠ユ妸type瀛樻斁鍦ㄥ亸縐婚噺涓?2鐨勫湴鏂癸紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(int)=4涓瓧鑺傦紱榪欐椂鏁翠釜緇撴瀯鐨勬垚鍛樺彉閲忓凡緇忛兘鍒嗛厤浜嗙┖闂達(dá)紝鎬葷殑鍗犵敤鐨勭┖闂村ぇ灝忎負(fù)錛?+1+3+4=16錛屽垰濂戒負(fù)緇撴瀯鐨勫瓧鑺傝竟鐣屾暟錛堝嵆緇撴瀯涓崰鐢ㄦ渶澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟sizeof(double)=8錛夌殑鍊嶆暟錛屾墍浠ユ病鏈夌┖緙虹殑瀛楄妭闇瑕佸~鍏呫傛墍浠ユ暣涓粨鏋勭殑澶у皬涓猴細(xì)sizeof(MyStruct)=8+1+3+4=16錛屽叾涓湁3涓瓧鑺傛槸VC鑷姩濉厖鐨勶紝娌℃湁鏀句換浣曟湁鎰忎箟鐨勪笢瑗褲?br>
涓嬮潰鍐嶄婦涓緥瀛愶紝浜ゆ崲涓涓嬩笂闈㈢殑MyStruct鐨勬垚鍛樺彉閲忕殑浣嶇疆錛屼嬌瀹冨彉鎴愪笅闈㈢殑鎯呭喌錛?br>
struct MyStruct

{

char dda;

double dda1;

int type

}錛?br>
榪欎釜緇撴瀯鍗犵敤鐨勭┖闂翠負(fù)澶氬ぇ鍛紵鍦╒C6.0鐜涓嬶紝鍙互寰楀埌sizeof(MyStruc)涓?4銆傜粨鍚堜笂闈㈡彁鍒扮殑鍒嗛厤絀洪棿鐨勪竴浜涘師鍒欙紝鍒嗘瀽涓媀C鎬庝箞鏍蜂負(fù)涓婇潰鐨勭粨鏋勫垎閰嶇┖闂寸殑銆傦紙綆鍗曡鏄庯級

struct MyStruct

{

char dda;//鍋忕Щ閲忎負(fù)0錛屾弧瓚沖榻愭柟寮忥紝dda鍗犵敤1涓瓧鑺傦紱

double dda1;//涓嬩竴涓彲鐢ㄧ殑鍦板潃鐨勫亸縐婚噺涓?錛屼笉鏄痵izeof(double)=8

//鐨勫嶆暟錛岄渶瑕佽ˉ瓚?涓瓧鑺傛墠鑳戒嬌鍋忕Щ閲忓彉涓?錛堟弧瓚沖榻?br>
//鏂瑰紡錛夛紝鍥犳VC鑷姩濉厖7涓瓧鑺傦紝dda1瀛樻斁鍦ㄥ亸縐婚噺涓?

//鐨勫湴鍧涓婏紝瀹冨崰鐢?涓瓧鑺傘?br>
int type錛?/涓嬩竴涓彲鐢ㄧ殑鍦板潃鐨勫亸縐婚噺涓?6錛屾槸sizeof(int)=4鐨勫?br>
//鏁幫紝婊¤凍int鐨勫榻愭柟寮忥紝鎵浠ヤ笉闇瑕乂C鑷姩濉厖錛宼ype瀛?br>
//鏀懼湪鍋忕Щ閲忎負(fù)16鐨勫湴鍧涓婏紝瀹冨崰鐢?涓瓧鑺傘?br>
}錛?/鎵鏈夋垚鍛樺彉閲忛兘鍒嗛厤浜嗙┖闂達(dá)紝絀洪棿鎬葷殑澶у皬涓?+7+8+4=20錛屼笉鏄粨鏋?br>
//鐨勮妭杈圭晫鏁幫紙鍗崇粨鏋勪腑鍗犵敤鏈澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟sizeof

//(double)=8錛夌殑鍊嶆暟錛屾墍浠ラ渶瑕佸~鍏?涓瓧鑺傦紝浠ユ弧瓚崇粨鏋勭殑澶у皬涓?br>
//sizeof(double)=8鐨勫嶆暟銆?br>


鎵浠ヨ緇撴瀯鎬葷殑澶у皬涓猴細(xì)sizeof(MyStruc)涓?+7+8+4+4=24銆傚叾涓葷殑鏈?+4=11涓瓧鑺傛槸VC鑷姩濉厖鐨勶紝娌℃湁鏀句換浣曟湁鎰忎箟鐨勪笢瑗褲?br>


VC瀵圭粨鏋勭殑瀛樺偍鐨勭壒孌婂鐞嗙‘瀹炴彁楂楥PU瀛樺偍鍙橀噺鐨勯熷害錛屼絾鏄湁鏃跺欎篃甯︽潵浜嗕竴浜涢夯鐑︼紝鎴戜滑涔熷睆钄芥帀鍙橀噺榛樿鐨勫榻愭柟寮忥紝鑷繁鍙互璁懼畾鍙橀噺鐨勫榻愭柟寮忋?br>
VC涓彁渚涗簡#pragma pack(n)鏉ヨ瀹氬彉閲忎互n瀛楄妭瀵歸綈鏂瑰紡銆俷瀛楄妭瀵歸綈灝辨槸璇村彉閲忓瓨鏀劇殑璧峰鍦板潃鐨勫亸縐婚噺鏈変袱縐嶆儏鍐碉細(xì)絎竴銆佸鏋渘澶т簬絳変簬璇ュ彉閲忔墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺蹇呴』婊¤凍榛樿鐨勫榻愭柟寮忥紝絎簩銆佸鏋渘灝忎簬璇ュ彉閲忕殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺涓簄鐨勫嶆暟錛屼笉鐢ㄦ弧瓚抽粯璁ょ殑瀵歸綈鏂瑰紡銆傜粨鏋勭殑鎬誨ぇ灝忎篃鏈変釜綰︽潫鏉′歡錛屽垎涓嬮潰涓ょ鎯呭喌錛氬鏋渘澶т簬鎵鏈夋垚鍛樺彉閲忕被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堢粨鏋勭殑鎬誨ぇ灝忓繀欏諱負(fù)鍗犵敤絀洪棿鏈澶х殑鍙橀噺鍗犵敤鐨勭┖闂存暟鐨勫嶆暟錛?br>
鍚﹀垯蹇呴』涓簄鐨勫嶆暟銆備笅闈婦渚嬭鏄庡叾鐢ㄦ硶銆?br>
#pragma pack(push) //淇濆瓨瀵歸綈鐘舵?br>
#pragma pack(4)//璁懼畾涓?瀛楄妭瀵歸綈

struct test

{

char m1;

double m4;

int m3;

};

#pragma pack(pop)//鎭㈠瀵歸綈鐘舵?br>
浠ヤ笂緇撴瀯鐨勫ぇ灝忎負(fù)16錛屼笅闈㈠垎鏋愬叾瀛樺偍鎯呭喌錛岄鍏堜負(fù)m1鍒嗛厤絀洪棿錛屽叾鍋忕Щ閲忎負(fù)0錛屾弧瓚蟲垜浠嚜宸辮瀹氱殑瀵歸綈鏂瑰紡錛?瀛楄妭瀵歸綈錛夛紝m1鍗犵敤1涓瓧鑺傘傛帴鐫寮濮嬩負(fù)m4鍒嗛厤絀洪棿錛岃繖鏃跺叾鍋忕Щ閲忎負(fù)1錛岄渶瑕佽ˉ瓚?涓瓧鑺傦紝榪欐牱浣垮亸縐婚噺婊¤凍涓簄=4鐨勫嶆暟錛堝洜涓簊izeof(double)澶т簬n錛?m4鍗犵敤8涓瓧鑺傘傛帴鐫涓簃3鍒嗛厤絀洪棿錛岃繖鏃跺叾鍋忕Щ閲忎負(fù)12錛屾弧瓚充負(fù)4鐨勫嶆暟錛宮3鍗犵敤4涓瓧鑺傘傝繖鏃跺凡緇忎負(fù)鎵鏈夋垚鍛樺彉閲忓垎閰嶄簡絀洪棿錛屽叡鍒嗛厤浜?6涓瓧鑺傦紝婊¤凍涓簄鐨勫嶆暟銆傚鏋滄妸涓婇潰鐨?pragma pack(4)鏀逛負(fù)#pragma pack(16)錛岄偅涔堟垜浠彲浠ュ緱鍒扮粨鏋勭殑澶у皬涓?4銆傦紙璇瘋鑰呰嚜宸卞垎鏋愶級

2銆?sizeof鐢ㄦ硶鎬葷粨

鍦╒C涓紝sizeof鏈夌潃璁稿鐨勭敤娉曪紝鑰屼笖寰堝鏄撳紩璧蜂竴浜涢敊璇備笅闈㈡牴鎹畇izeof鍚庨潰鐨勫弬鏁板sizeof鐨勭敤娉曞仛涓葷粨銆?br>
A錛?鍙傛暟涓烘暟鎹被鍨嬫垨鑰呬負(fù)涓鑸彉閲忋備緥濡俿izeof(int),sizeof(long)絳夌瓑銆傝繖縐嶆儏鍐佃娉ㄦ剰鐨勬槸涓嶅悓緋葷粺緋葷粺鎴栬呬笉鍚岀紪璇戝櫒寰楀埌鐨勭粨鏋滃彲鑳芥槸涓嶅悓鐨勩備緥濡俰nt綾誨瀷鍦?6浣嶇郴緇熶腑鍗?涓瓧鑺傦紝鍦?2浣嶇郴緇熶腑鍗?涓瓧鑺傘?br>
B錛?鍙傛暟涓烘暟緇勬垨鎸囬拡銆備笅闈婦渚嬭鏄?

int a[50]; //sizeof(a)=4*50=200; 姹傛暟緇勬墍鍗犵殑絀洪棿澶у皬

int *a=new int[50];// sizeof(a)=4; a涓轟竴涓寚閽堬紝sizeof(a)鏄眰鎸囬拡

//鐨勫ぇ灝?鍦?2浣嶇郴緇熶腑錛屽綋鐒舵槸鍗?涓瓧鑺傘?br>
C錛?鍙傛暟涓虹粨鏋勬垨綾匯係izeof搴旂敤鍦ㄧ被鍜岀粨鏋勭殑澶勭悊鎯呭喌鏄浉鍚岀殑銆備絾鏈変袱鐐歸渶瑕佹敞鎰忥紝絎竴銆佺粨鏋勬垨鑰呯被涓殑闈欐佹垚鍛樹笉瀵圭粨鏋勬垨鑰呯被鐨勫ぇ灝忎駭鐢熷獎(jiǎng)鍝嶏紝鍥犱負(fù)闈欐佸彉閲忕殑瀛樺偍浣嶇疆涓庣粨鏋勬垨鑰呯被鐨勫疄渚嬪湴鍧鏃犲叧銆?br>
絎簩銆佹病鏈夋垚鍛樺彉閲忕殑緇撴瀯鎴栫被鐨勫ぇ灝忎負(fù)1錛屽洜涓哄繀欏諱繚璇佺粨鏋勬垨綾葷殑姣忎竴

涓疄渚嬪湪鍐呭瓨涓兘鏈夊敮涓鐨勫湴鍧銆?br>
涓嬮潰涓句緥璇存槑錛?br>
Class Test{int a;static double c};//sizeof(Test)=4.

Test *s;//sizeof(s)=4,s涓轟竴涓寚閽堛?br>
Class test1{ };//sizeof(test1)=1;

D錛?鍙傛暟涓哄叾浠栥備笅闈婦渚嬭鏄庛?br>
int func(char s[5]);

{

cout<
//鏁扮殑鍙傛暟鍦ㄤ紶閫掔殑鏃跺欑郴緇熷鐞嗕負(fù)涓涓寚閽堬紝鎵

//浠izeof(s)瀹為檯涓婁負(fù)姹傛寚閽堢殑澶у皬銆?br>
return 1;

}

sizeof(func(“1234”))=4//鍥犱負(fù)func鐨勮繑鍥炵被鍨嬩負(fù)int錛屾墍浠ョ浉褰撲簬

//姹俿izeof(int).



浠ヤ笂涓簊izeof鐨勫熀鏈敤娉曪紝鍦ㄥ疄闄呯殑浣跨敤涓娉ㄦ剰鍒嗘瀽VC鐨勫垎閰嶅彉閲忕殑鍒嗛厤絳栫暐錛岃繖鏍風(fēng)殑璇濆彲浠ラ伩鍏嶄竴浜涢敊璇?/td>


isabc 2008-05-25 21:55 鍙戣〃璇勮
]]>
C++涓殑灝哄[杞琞http://m.shnenglu.com/Lee7/archive/2008/05/25/51076.htmlisabcisabcSun, 25 May 2008 13:53:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/25/51076.htmlhttp://m.shnenglu.com/Lee7/comments/51076.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/25/51076.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/51076.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/51076.html杞嚜錛?a >http://blog.csdn.net/arong1234/archive/2008/03/23/2210462.aspx

1. sizeof:榪斿洖綾誨瀷鐨勫昂瀵?/h3>

 姣忎釜綾誨瀷鍦ㄧ紪璇戞椂閮戒細(xì)鍐沖畾鑷繁鐨勫疄渚嬮渶瑕佸灝戝瓧鑺傘傚湪緙栬瘧鍚庯紝璇ョ被鍨嬬殑鎵鏈夊璞″崰鏈夌殑絀洪棿鏄竴鏍風(fēng)殑錛屼笉浼?xì)鍙戠敓鍙樺寲銆傚洜姝わ紝鎴戜滑鍙互鐢╯izeof鏉ヨ綆椾竴涓被鍨嬫垨鑰呰綾誨瀷鐨勬煇涓疄渚嬫潵寰楀埌灝哄淇℃伅銆備笅闈㈢殑浠g爜鏄瓑浠風(fēng)殑


int iVal;
//sizeof type
sizeof(int)
//sizeof instance
sizeof(iVal)

鏃犺鎴戜滑鐢╥Val榪樻槸int錛屼笂闈㈢殑琛ㄨ揪寮忛兘浼?xì)杩斿洖int綾誨瀷鐨勫昂瀵革紙褰撶劧濡傚墠鎵璇達(dá)紝iVal鐨勫昂瀵稿拰鍏剁被鍨嬪昂瀵告案榪滄槸涓鏍風(fēng)殑)銆?/p>

涓嶇啛鎮(zhèn)塻izeof鐨勬湅鍙嬪線寰浼?xì)鍦ㄥ鐞嗘寚閽堟椂寮勯敊姒傚奎c(diǎn)傝冭檻涓嬮潰浠g爜錛?/p>

int iArray[10];
int sizeofArray=sizeof(iArray);

int * p= new int[10];
int sizeofPointer = sizeof(p);

鍦ㄥ緢澶氫漢蹇冪洰涓紝鎸囬拡鍜屾暟緇勬槸絳変環(huán)鐨勶紝浣嗘槸浜嬪疄涓ユ牸璧鋒潵騫朵笉濡傛銆備笂闈㈢殑浠g爜灝變細(xì)榪斿洖涓嶅悓鐨勭粨鏋溿?/p>

瀵逛簬iArray錛屽畠鐨勭被鍨嬫槸int[10]錛屾槸涓涓暟緇勶紝sizeof璁$畻鍏跺昂瀵告椂錛岀煡閬撳畠鍖呭惈10涓厓绱狅紝姣忎釜鍏冪礌閮芥椂涓暣鍨嬶紝鍥犳榪斿洖40銆傝屽浜巔錛屽畠鐨勭被鍨嬫槸int*錛屾寚閽堢殑灝哄姘歌繙鏄?錛屽洜姝ょ粨鏋滃氨鏄?銆俿izeof涓嶄細(xì)涔熶笉鍙兘鐭ラ亾p瀹為檯鎸囧悜10涓厓绱犵殑鏁扮粍銆?/p>

鍑虹幇榪欎釜闂鐨勫師鍥犳湁涓や釜錛?. sizeof鏄湪緙栬瘧鏃惰綆楃殑錛岃宯ew int[10]鎸囧悜鐨勬暟緇勬槸鍦ㄨ繍琛屾椂鍒涘緩鐨勶紝涔熷氨鏄褰搒izeof(p)璁$畻鏃訛紝緋葷粺榪樹笉鐭ラ亾p浼?xì)鎸囧悜澶殲畱涓猧nt鍏冪礌錛岃嚜鐒朵篃涓嶅彲鑳界煡閬撳畠鎸囧悜鐨勬暟緇勫崰鏈夊灝戝瓧鑺傘?. sizeof璁$畻鐨勬槸p鑷繁鐨勭被鍨嬫墍鍗犳嵁鐨勭┖闂達(dá)紝鑰屼笉鏄痯鎸囧悜鐨勫璞℃墍鍗犳嵁鐨勭┖闂達(dá)紝鍙互璇達(dá)紝p鑷繁鍗犳嵁4涓瓧鑺傦紝鑰宲鎸囧悜鐨勭┖闂村崰40瀛楄妭銆?/p>

鍦ㄨ繖縐嶆蹇典笅錛屾垜浠槸涓嶆槸鍙互閫氳繃sizeof(*p)鏉ュ緱鍒?0鍛紵寰堜笉騫革紝涓嶈錛屽師鍥犳槸p鐨勭被鍨嬫槸int*錛?p鐨勭被鍨嬫槸int錛屽洜姝ゆ棤娉曞緱鍒板叾鏄竴涓暟緇勭殑浜嬪疄銆?/p>

瀹為檯涓婏紝榪欎釜灝哄淇℃伅鏄釜榪愯鏃舵暟鎹紝浣滀負(fù)C/C++璇█鑰岃█錛屾槸鏃犱粠鐭ラ亾榪欎釜淇℃伅鐨勶紙鍥犱負(fù)C/C++鎸囬拡涓嶅寘鍚繖縐嶄俊鎭級錛岃寰楀埌瀹冿紝鍞竴鐨勫姙娉曟槸鎸囨湜鎿嶄綔緋葷粺鍦ㄨ繍琛屾椂涓彁渚涖傚湪VC涓紝鎴戜滑鍙互閫氳繃_msize寰楀埌銆?/p>

2. 瀵歸綈闂

鎴戜滑鍦ㄨ闂唴瀛樻椂錛屽鏋滃湴鍧鏄寜4瀛楄妭瀵歸綈錛屽垯璁塊棶鏁堢巼浼?xì)楂樺緢澶氥傝繖涓棶棰樼殑鍘熷洜鍦ㄤ簬璁塊棶鍐呭瓨鐨勭‖浠剁數(shù)璺備竴鑸儏鍐典笅錛屽湴鍧鎬葷嚎鎬繪槸鎸夌収瀵歸綈鍚庣殑鍦板潃鏉ヨ闂備緥濡備綘鎯沖緱鍒?x00000001寮濮嬬殑4瀛楄妭鍐呭錛岀郴緇熼鍏堥渶瑕佷互0x00000000璇?瀛楄妭錛岀劧鍚庝粠涓彇寰?瀛楄妭錛岀劧鍚庡湪鐢?x00000004浣滀負(fù)寮濮嬪湴鍧錛岃幏寰椾笅涓涓洓瀛楄妭錛屽湪浠庝腑寰楀埌絎竴涓瓧鑺傦紝涓ゆ緇勫悎鍑轟綘鎯沖緱鍒扮殑鍐呭銆備絾鏄鏋滃湴鍧涓寮濮嬪氨鏄榻愬埌0x00000000錛屽垯緋葷粺鍙涓嬈¤鍐欏嵆鍙?/p>

涓轟簡鎬ц兘鑰冭檻錛岀紪璇戝櫒浼?xì)瀵咕l撴瀯榪涜瀵歸綈澶勭悊銆傝冭檻涓嬮潰鐨勭粨鏋?/p>

 

struct aStruct
{
               
char cValue;
               
int    iValue;
}
;

 

鐩磋鐨勮錛岃繖涓粨鏋勭殑灝哄鏄痵izeof(char)+sizeof(int)錛?,浣嗘槸鍦ㄥ疄闄呯紪璇戜笅錛岃繖涓粨鏋勫昂瀵哥己鐪佹槸8錛屽洜涓虹浜屼釜鍩焛value浼?xì)琚瘹w綈鍒扮鍥涗釜瀛楄妭銆?/p>

鍦╒C涓紝鎴戜滑鍙互鐢╬ack棰勫鐞嗘寚浠ゆ潵紱佹瀵歸綈璋冩暣銆備緥濡?涓嬮潰浠g爜灝嗕嬌寰楃粨鏋勫昂瀵告洿鍔犵揣鍑戯紝涓嶄細(xì)鍑虹幇瀵歸綈鍒?瀛楄妭闂錛?/p>

 

#pragma pack(1)
struct aStruct{
     
char cValue;
    
int     iValue;
}
;
#pragma pack()

瀵逛簬榪欎釜pack鎸囦護(hù)鐨勫惈涔夛紝澶у鍙互鏌ヨMSDN銆傝娉ㄦ剰錛氶櫎闈炰綘瑙夊緱蹇呴』榪欐牱錛屼笉瑕佽交鏄撳仛榪欐牱鐨勮皟鏁達(dá)紝鍥犱負(fù)榪欏皢闄嶄綆紼嬪簭鎬ц兘銆傜洰鍓嶆瘮杈冨父瑙佺殑鐢ㄦ硶鏄細(xì)1. 榪欎釜緇撴瀯闇瑕佽鐩存帴鍐欏叆鏂囦歡 2. 榪欎釜緇撴瀯闇瑕侀氳繃緗戠粶浼犵粰鍏朵粬紼嬪簭銆?/p>

娉ㄦ剰錛氬瓧鑺傚榻愭槸緙栬瘧鏃跺喅瀹氱殑錛屼竴鏃﹀喅瀹氫笉浼?xì)鍐嶆敼鍙樺Q屽洜姝ゅ嵆浣挎湁瀵歸綈鐨勫洜绱犲湪錛屼篃涓嶄細(xì)鍑虹幇涓涓粨鏋勫湪榪愯鏃跺昂瀵稿彂鐢熷彉鍖栫殑鎯呭喌鍑虹幇銆?/p>

isabc 2008-05-25 21:53 鍙戣〃璇勮
]]>鐢╮and()鍜宻rand()浜х敓涓洪殢鏈烘暟鐨勬柟娉曟葷粨[杞琞http://m.shnenglu.com/Lee7/archive/2008/05/22/50737.htmlisabcisabcThu, 22 May 2008 03:23:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/22/50737.htmlhttp://m.shnenglu.com/Lee7/comments/50737.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/22/50737.html#Feedback1http://m.shnenglu.com/Lee7/comments/commentRss/50737.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/50737.html錛堣鍖呭惈浜?iostream>涓級鎻愪緵涓や釜甯姪鐢熸垚浼殢鏈烘暟鐨勫嚱鏁幫細(xì)   闃呰鍏ㄦ枃

isabc 2008-05-22 11:23 鍙戣〃璇勮
]]>
TCP/IP 鏁版嵁鍖呭ご鏍煎紡 錛堣漿錛?/title><link>http://m.shnenglu.com/Lee7/archive/2008/05/16/50043.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Fri, 16 May 2008 06:50:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2008/05/16/50043.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/50043.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2008/05/16/50043.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/50043.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/50043.html</trackback:ping><description><![CDATA[鏈榪戠媯琛ュ熀紜錛岀寷鐪婽CP/IP鍗忚銆備笉榪囷紝涔︿笂鐨勪笢瑗垮お鎶借薄浜嗭紝娌℃湁浠涔堟暟鎹疄渚嬶紝鐪嬩簡涓?涔呭氨蹇樹簡銆備簬鏄紝鎼潵涓涓猻niffer錛屾姄浜嗘暟鎹寘鏉ョ湅錛屽懙鍛碉紝緇撳悎涔﹂噷闈㈠緱璁茶В錛岀悊瑙e緱 姣旇緝蹇傛垜灝辨潵鐏岀偣鍩虹鐭ヨ瘑銆傘 <p>銆銆<strong>寮濮嬪惂錛屽厛浠嬬粛IP鍗忚銆傘 </strong></p> <p>銆銆IP鍗忚錛圛nternet Protocol錛夋槸緗戠粶灞傚崗璁紝鐢ㄥ湪鍥犵壒緗戜笂錛孴CP錛孶DP錛孖CMP錛孖GMP鏁版嵁閮芥槸鎸夌収IP鏁版嵁鏍煎紡鍙戦佸緱銆侷P鍗忚鎻愪緵鐨勬槸涓嶅彲闈犳棤榪炴帴寰楁湇鍔°侷P鏁版嵁鍖呯敱涓涓ご閮ㄥ拰涓涓鏂囬儴鍒嗘瀯鎴愩傛鏂囦富瑕佹槸浼犺緭鐨勬暟鎹紝鎴戜滑涓昏鏉ョ悊瑙eご閮ㄦ暟鎹紝鍙互浠庡叾鐞嗚В鍒癐P鍗忚銆傘 </p> <p>銆銆<strong>IP鏁版嵁鍖呭ご閮ㄦ牸寮忥紙RFC791錛?/strong></p> <p align=center><img style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" src="http://industry.ccidnet.com/col/attachment/2007/2/1013357.jpg"><span id=ad_qqread_mid_big></span></p> <p>銆銆<strong>Example Internet Datagram Header</strong>銆</p> <p>銆銆涓婇潰鐨勫氨鏄疘P鏁版嵁鐨勫ご閮ㄦ牸寮忥紝榪欓噷澶ф鍦頒粙緇嶄竴涓嬨傘 </p> <p>銆銆IP澶撮儴鐢?0瀛楄妭鐨勫浐瀹氶暱搴﹀拰涓涓彲閫変換鎰忛暱搴﹂儴鍒嗘瀯鎴愶紝浠ュぇ孌電偣鏈烘搴忎紶閫侊紝浠庡乏鍒?鍙熾傘 </p> <p>銆銆<strong>TCP鍗忚</strong>銆 </p> <p>銆銆TCP鍗忚錛圱RANSMISSION CONTROL PROTOCOL錛夋槸浼犺緭灞傚崗璁紝涓哄簲鐢ㄥ眰鎻愪緵鏈嶅姟錛屽拰UDP涓嶅悓鐨勬槸錛孴CP鍗忚鎻愪緵鐨勫彲闈犵殑闈㈠悜榪炴帴鐨勬湇鍔°傚湪RFC793涓槸鍩烘湰鐨凾CP鎻忚堪銆傚叧浜嶵CP鍗忚鐨勫ご閮ㄦ牸寮忓唴瀹圭殑璇存槑錛氥 </p> <p>銆銆<strong>TCP Header FORMat銆</strong></p> <p>銆</p> <p align=center><img style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" src="http://industry.ccidnet.com/col/attachment/2007/2/1013359.jpg"></p> <p>銆銆<strong>TCP Header FORMat銆 </strong></p> <p>銆銆璺烮P澶撮儴宸笉澶氾紝鍩烘湰鐨勯暱搴︿篃鏄?0瀛楄妭銆俆CP鏁版嵁鍖呮槸鍖呭惈鍦ㄤ竴涓狪P鏁版嵁鎶ユ枃涓殑銆傘 </p> <p>銆銆濂戒簡錛岀畝鍗曚粙緇嶅埌姝や負(fù)姝€傛潵鐪嬬湅鎴戞崟鑾風(fēng)殑渚嬪瓙鍚с傝繖鏄竴嬈TP鐨勮繛鎺ワ紝鍛靛懙錛屾槸cuteftp榛樿鐨刢uteftp鐨凢TP绔欑偣錛孖P鍦板潃鏄細(xì)216.3.226.21銆傛垜鐨処P鍦板潃鍋囪涓?192.168.1.1銆備笅闈㈢殑鏁版嵁灝辨槸TCO/IP榪炴帴榪囩▼涓殑鏁版嵁浼犺緭銆傛垜浠彲浠ュ垎鏋怲CP/IP鍗忚鏁版嵁鏍煎紡浠ュ強(qiáng)TCP/IP榪炴帴鐨勪笁嬈℃彙鎵嬶紙ThreeWay-Handshake錛夋儏鍐點(diǎn)備笅闈㈢殑榪欎簺鍗佸叚榪涘埗鏁版嵁鍙槸TCP/IP鍗忚鐨勬暟鎹紝涓嶆槸瀹屾暣鐨勭綉緇滈氳鏁版嵁銆傘 </p> <p>銆銆絎竴嬈★紝鎴戝悜FTP绔欑偣鍙戦佽繛鎺ヨ姹傦紙鎴戞妸TCP鏁版嵁鐨勫彲閫夐儴鍒嗗幓鎺変簡錛夈</p> <p>銆銆192.168.1.1->216.3.226.21銆 <br><br>銆銆IP澶撮儴錛?45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15銆 <br><br>銆銆TCP澶撮儴錛?d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00銆 </p> <p>銆銆鏉ョ湅鐪婭P澶撮儴鐨勬暟鎹槸浜涗粈涔堛傘 </p> <p>銆銆絎竴瀛楄妭錛?#8220;45”錛屽叾涓?#8220;4”鏄疘P鍗忚鐨勭増鏈紙Version錛夛紝璇存槑鏄疘P4銆?#8220;5”鏄疘HL浣嶏紝琛ㄧずIP澶撮儴鐨勯暱搴︼紝鏄竴涓?bit瀛楁錛屾渶澶у氨鏄?111浜嗭紝鍊間負(fù)12錛孖P澶撮儴鐨勬渶澶ч暱搴﹀氨鏄?0瀛楄妭銆傝岃繖閲屼負(fù)“5”錛岃鏄庢槸20瀛楄妭錛岃繖鏄爣鍑嗙殑IP澶撮儴闀垮害錛屽ご閮ㄦ姤鏂囦腑娌℃湁鍙戦佸彲閫夐儴鍒嗘暟鎹傘 </p> <p>銆銆鎺ヤ笅鏉ョ殑涓涓瓧鑺?#8220;00”鏄湇鍔$被鍨嬶紙Type of Service錛夈傝繖涓?bit瀛楁鐢?bit鐨勪紭鍏堟潈瀛愬瓧孌碉紙鐜板湪宸茬粡琚拷鐣ワ級錛? bit鐨凾OS瀛愬瓧孌典互鍙? bit鐨勬湭鐢ㄥ瓧孌碉紙鐜板湪涓?錛夋瀯鎴?4 bit鐨凾OS瀛愬瓧孌靛寘鍚細(xì)鏈灝忓歡鏃躲佹渶澶у悶鍚愰噺銆佹渶楂樺彲闈犳т互鍙?qiáng)鏈灝忚垂鐢ㄦ瀯鎴愶紝榪欏洓涓?bit浣嶆渶澶氬彧鑳芥湁涓涓負(fù)1錛屾湰渚嬩腑閮戒負(fù)0錛岃〃紺烘槸涓鑸湇鍔°傘 </p> <p>銆銆鎺ョ潃鐨勪袱涓瓧鑺?#8220;00 30”鏄疘P鏁版嵁鎶ユ枃鎬婚暱錛屽寘鍚ご閮ㄤ互鍙?qiáng)鏁版嵁锛寴q欓噷琛ㄧず48瀛楄妭銆傝繖48瀛楄妭鐢?0瀛楄妭鐨処P澶撮儴浠ュ強(qiáng)28瀛楄妭鐨凾CP澶存瀯鎴愶紙鏈潵鎴彇鐨凾CP澶村簲璇ユ槸28瀛楄妭鐨勶紝鍏朵腑8瀛楄妭涓哄彲閫夐儴鍒嗭紝琚垜鐪佸幓浜嗭級銆傚洜姝ょ洰鍓嶆渶澶х殑IP鏁版嵁鍖呴暱搴︽槸65535瀛楄妭銆傘 </p> <p>銆銆鍐嶆槸涓や釜瀛楄妭鐨勬爣蹇椾綅錛圛dentification錛夛細(xì)“5252”錛岃漿鎹負(fù)鍗佽繘鍒跺氨鏄?1074銆傝繖涓槸璁╃洰鐨勪富鏈烘潵鍒ゆ柇鏂版潵鐨勫垎孌靛睘浜庡摢涓垎緇勩傘 </p> <p>銆銆涓嬩竴涓瓧鑺?#8220;40”錛岃漿鎹負(fù)浜岃繘鍒跺氨鏄?#8220;0100 0000”錛屽叾涓涓浣嶆槸IP鍗忚鐩墠娌℃湁鐢ㄤ笂鐨勶紝涓?銆傛帴鐫鐨勬槸涓や釜鏍囧織DF鍜孧F銆侱F涓?琛ㄧず涓嶈鍒嗘錛孧F涓?琛ㄧず榪樻湁榪涗竴姝ョ殑鍒嗘錛堟湰渚嬩負(fù)0錛夈傜劧鍚庣殑“0 0000”鏄垎孌典究縐伙紙F(tuán)ragment Offset錛夈傘 </p> <p>銆銆“80”榪欎釜瀛楄妭灝辨槸TTL錛圱ime To Live錛変簡錛岃〃紺轟竴涓狪P鏁版嵁嫻佺殑鐢熷懡鍛ㄦ湡錛岀敤Ping鏄劇ず鐨勭粨鏋滐紝鑳藉緱鍒癟TL鐨勫鹼紝寰堝鏂囩珷灝辮閫氳繃TTL浣嶆潵鍒ゅ埆涓繪満綾誨瀷銆傚洜涓轟竴鑸富鏈洪兘鏈夐粯璁ょ殑TTL鍊鹼紝涓嶅悓緋葷粺鐨勯粯璁ゅ間笉涓鏍楓傛瘮濡俉INDOWS涓?28銆備笉榪囷紝涓鑸琍ing寰楀埌鐨勯兘涓嶆槸榛樿鍊鹼紝榪欐槸鍥犱負(fù)姣忔IP鏁版嵁鍖呯粡榪囦竴涓礬鐢卞櫒鐨勬椂鍊橳TL灝卞噺涓錛屽綋鍑忓埌0鏃訛紝榪欎釜鏁版嵁鍖呭氨娑堜骸浜嗐傝繖涔熸椂Tracert鐨勫師鐞嗐傛湰渚嬩腑涓?#8220;80”錛岃漿鎹負(fù)鍗佽繘鍒跺氨鏄?28浜嗭紝鎴戠敤鐨刉IN2000銆傘 </p> <p>銆銆緇х畫涓嬫潵鐨勬槸“06”錛岃繖涓瓧鑺傝〃紺轟紶杈撳眰鐨勫崗璁被鍨嬶紙Protocol錛夈傚湪RFC790涓湁瀹氫箟錛?琛ㄧず浼犺緭灞傛槸TCP鍗忚銆傘 </p> <p>銆銆“2c 23”榪欎釜16bit鏄ご鏍¢獙鍜岋紙Header Checksum錛夈傘 </p> <p>銆銆鎺ヤ笅鏉?#8220;c0 a8 01 01”錛岃繖涓氨鏄簮鍦板潃錛圫ource Address錛変簡錛屼篃灝辨槸鎴戠殑IP鍦板潃銆?</p> <p>銆銆杞崲涓哄崄榪涘埗鐨処P鍦板潃灝辨槸錛?92.168.1.1錛屽悓鏍鳳紝緇х畫涓嬫潵鐨?2浣?#8220;d8 03 e2 15”鏄洰鏍囧湴鍧錛?16.3.226.21銆 </p> <p>銆銆濂戒簡錛岀湡绱晩錛岀粓浜庣湅瀹屽熀鏈殑20瀛楄妭鐨処P鏁版嵁鎶ュご浜嗐傜戶緇湅TCP鐨勫ご閮ㄥ惂錛岃繖涓槸浣滀負(fù)IP鏁版嵁鍖呯殑鏁版嵁閮ㄥ垎浼犺緭鐨勩傘 </p> <p>銆銆TCP澶撮儴錛?d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00銆 </p> <p>銆銆涓鏉ュ氨鏄竴涓袱瀛楄妭孌?#8220;0d 28”錛岃〃紺烘湰鍦扮鍙e彿錛岃漿鎹負(fù)鍗佽繘鍒跺氨鏄?368銆傜浜屼釜涓ゅ瓧鑺傛“00 15”琛ㄧず鐩爣绔彛錛屽洜涓烘垜鏄繛鎺TP绔欑偣錛屾墍浠ワ紝榪欎釜灝辨槸21鍟︼紝鍗佸叚榪涘埗褰撶劧灝辨槸“00 15”銆傘 </p> <p>銆銆鎺ヤ笅鏉ョ殑鍥涗釜瀛楄妭“50 5f a9 06”鏄『搴忓彿錛圫equence Number錛夛紝綆鍐欎負(fù)SEQ錛孲EQ=1348446470涓嬮潰鐨勫洓涓瓧鑺?#8220;00 00 00 00”鏄‘璁ゅ彿錛圓cknowledgment Number錛夛紝綆鍐欎負(fù)ACKNUM銆傘 </p> <p>銆銆緇х畫涓や釜瀛楄妭錛?#8220;70 02”錛岃漿鎹負(fù)浜岃繘鍒跺惂錛?#8220;0111 0000 0000 0010”銆傝繖涓や釜瀛楄妭,鎬誨叡16bit錛屾湁濂藉涓滆タ鍛€傜涓涓?bit“0111”錛屾槸TCP澶撮暱錛屽崄榪涘埗涓?錛岃〃紺?8涓瓧鑺傦紙鍒氭墠璇翠簡錛屾垜鐪佺暐浜?瀛楄妭鐨刼ption鏁版嵁錛屾墍浠ヤ綘鍙湅瑙佷簡20瀛楄妭錛夈傛帴鐫鐨?bit鐜板湪TCP鍗忚娌℃湁鐢ㄤ笂錛岄兘涓?銆傛渶鍚庣殑6bit“00 0010”鏄叚涓噸瑕佺殑鏍囧織銆傝繖鏄袱涓綆楁満鏁版嵁浜ゆ祦鐨勪俊鎭爣蹇椼傛帴鏀跺拰鍙戦佹柇鏍規(guī)嵁榪欎簺鏍囧織鏉ョ‘瀹氫俊鎭祦鐨勭綾匯備笅闈㈡槸涓浜涗粙緇嶏細(xì)銆 </p> <p>銆銆URG錛氾紙Urgent Pointer field significant錛夌揣鎬ユ寚閽堛傜敤鍒扮殑鏃跺欏間負(fù)1錛岀敤鏉ュ鐞嗛伩鍏峊CP鏁版嵁嫻佷腑鏂 </p> <p>銆銆ACK錛氾紙Acknowledgment fieldsignificant錛夌疆1鏃惰〃紺虹‘璁ゅ彿錛圓cknowledgmentNumber錛変負(fù)鍚堟硶錛屼負(fù)0鐨勬椂鍊欒〃紺烘暟鎹涓嶅寘鍚‘璁や俊鎭紝紜鍙瘋蹇界暐銆傘 </p> <p>銆銆PSH錛氾紙Push Function錛夛紝PUSH鏍囧織鐨勬暟鎹紝緗?鏃惰姹傜殑鏁版嵁孌靛湪鎺ユ敹鏂瑰緱鍒板悗灝卞彲鐩存帴閫佸埌搴旂敤紼嬪簭錛岃屼笉蹇呯瓑鍒扮紦鍐插尯婊℃椂鎵嶄紶閫併傘 </p> <p>銆銆RST錛氾紙Reset the connection錛夌敤浜庡浣嶅洜鏌愮鍘熷洜寮曡搗鍑虹幇鐨勯敊璇繛鎺ワ紝涔熺敤鏉ユ嫆緇濋潪娉曟暟鎹拰璇鋒眰銆傚鏋滄帴鏀跺埌RST浣嶆椂鍊欙紝閫氬父鍙戠敓浜嗘煇浜涢敊璇傘 </p> <p>銆銆SYN錛氾紙Synchronize sequence numbers錛夌敤鏉ュ緩绔嬭繛鎺ワ紝鍦ㄨ繛鎺ヨ姹備腑錛孲YN=1錛孉CK=0錛岃繛鎺ュ搷搴旀椂錛孲YN=1錛孉CK=1銆傚嵆錛孲YN鍜孉CK鏉ュ尯鍒咰onnection Request鍜孋onnection Accepted銆傘 </p> <p>銆銆FIN錛氾紙No more data from sender錛夌敤鏉ラ噴鏀捐繛鎺ワ紝琛ㄦ槑鍙戦佹柟宸茬粡娌℃湁鏁版嵁鍙戦佷簡銆傘 </p> <p>銆銆榪?涓爣蹇椾綅錛屼綘浠嚜宸卞鍙峰叆搴у惂銆傛湰渚嬩腑SYN=1錛孉CK=0錛屽綋鐒跺氨鏄〃紺鴻繛鎺ヨ姹備簡銆傛垜浠彲浠ユ敞鎰忎笅闈袱涓繃紼嬬殑榪欎袱浣嶇殑鍙樻崲銆傘 </p> <p>銆銆鍚庨潰鐨?#8220;40 00 c0 29 00 00”涓嶈浜嗭紝鍛靛懙錛屽伔鎳掍簡銆傚悗闈袱嬈¢氳鐨勬暟鎹紝鑷繁鍒嗗紑鐪嬪惂銆傛垜浠湅鐪嬭繛鎺ョ殑榪囩▼錛屼竴浜涢噸瑕佸湴鏂圭殑鍙樺寲銆傘 </p> <p>銆銆絎簩嬈★紝FTP绔欑偣榪斿洖涓涓彲浠ヨ繛鎺ョ殑淇″彿銆傘 </p> <p>銆銆216.3.226.21->192.168.1.1銆 </p> <p>銆銆IP澶撮儴錛?45 00 00 2c c6 be 40 00 6a 06 cd ba d8 03 e2 15 c0 a8 01 01銆 <br><br>銆銆TCP澶撮儴錛?0 15 0d 28 4b 4f 45 c1 50 5f a9 07 60 12 20 58 64 07 00 00銆 </p> <p>銆銆絎笁嬈★紝鎴戠‘璁よ繛鎺ャ俆CP榪炴帴寤虹珛璧鋒潵銆傘 </p> <p>銆銆192.168.1.1->216.3.226.21銆 <br><br>銆銆IP澶撮儴錛?45 00 00 28 52 53 40 00 80 06 2c 2a c0 a8 01 01 d8 03 e2 15銆 <br><br>銆銆TCP澶撮儴錛?d 28 00 15 50 5f a9 07 4b 4f 45 c2 50 10 40 b0 5b 1c 00 00銆 </p> <p>銆銆濂斤紝鎴戜滑鐪嬬湅鏁翠釜Threeway_handshake榪囩▼銆傘 <br><br>銆銆絎竴姝ワ紝鎴戝彂鍑鴻繛鎺ヨ姹傦紝TCP鏁版嵁涓猴細(xì)SEQ=50 5f a9 06錛孉CKNUM=00 00 00 00錛孲YN=1錛孉CK=0銆傘 </p> <p>銆銆絎簩姝ワ紝瀵規(guī)柟紜鍙互榪炴帴錛孴CP鏁版嵁涓猴細(xì)SEQ=4b 4f 45 c1錛孉CKNUM=50 5f a9 07錛孲YN=1錛孉CK=1銆傘 </p> <p>銆銆絎笁姝ワ紝鎴戠‘璁ゅ緩绔嬭繛鎺ャ係EQ=50 5f a9 07錛?ACKNUM=4b 4f45c2錛孲YN=0錛孉CK=1銆傘 </p> <p>銆銆鍙互鐪嬪嚭浠涔堝彉鍖栦箞錛熸寮忓緩绔嬭繛鎺ヤ簡鍛紝榪欎簺涓滆タ鏄粈涔堝鹼紵銆 </p> <p>銆銆鎴戞帴鏀朵粠216.3.226.21->192.168.1.1鐨勪笅涓涓暟鎹寘涓細(xì)銆 </p> <p>銆銆SEQ=4b 4f 45 c2錛孉CKNUM=50 5f a9 07,SYN=0,ACK=1榪欎簺閮芥槸寰堝熀紜鐨勪笢瑗匡紝瀵逛簬緙栧啓sniffer榪欐牱鐨勪笢瑗挎槸蹇呴』闈炲父鐔熸?zhèn)夌殑銆傝繖閲屽彧璁茶В浜員CP/IP鍗忚鐨勪竴鐐圭偣涓滆タ錛屼富瑕佹槸澶撮儴鏁版嵁鐨勬牸寮?/p> <img src ="http://m.shnenglu.com/Lee7/aggbug/50043.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2008-05-16 14:50 <a href="http://m.shnenglu.com/Lee7/archive/2008/05/16/50043.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++涓殑铏氬嚱鏁?virtual function)http://m.shnenglu.com/Lee7/archive/2008/04/27/48227.htmlisabcisabcSat, 26 Apr 2008 17:15:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/04/27/48227.htmlhttp://m.shnenglu.com/Lee7/comments/48227.htmlhttp://m.shnenglu.com/Lee7/archive/2008/04/27/48227.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/48227.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/48227.html闃呰鍏ㄦ枃

isabc 2008-04-27 01:15 鍙戣〃璇勮
]]>
C++鐨剆tatic鍏抽敭瀛?/title><link>http://m.shnenglu.com/Lee7/archive/2008/04/27/48224.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Sat, 26 Apr 2008 17:00:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2008/04/27/48224.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/48224.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2008/04/27/48224.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/48224.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/48224.html</trackback:ping><description><![CDATA[     鎽樿: 浣滆咃細(xì)闊╄鏃?銆銆C++鐨剆tatic鏈変袱縐嶇敤娉曪細(xì)闈㈠悜榪囩▼紼嬪簭璁捐涓殑static鍜岄潰鍚戝璞$▼搴忚璁′腑鐨剆tatic銆傚墠鑰呭簲鐢ㄤ簬鏅氬彉閲忓拰鍑芥暟錛屼笉娑夊強(qiáng)綾伙紱鍚庤呬富瑕佽鏄巗tatic鍦ㄧ被涓殑浣滅敤銆?涓銆侀潰鍚戣繃紼嬭璁′腑鐨剆tatic 1銆侀潤鎬佸叏灞鍙橀噺 鍦ㄥ叏灞鍙橀噺鍓嶏紝鍔犱笂鍏抽敭瀛梥tatic錛岃鍙橀噺灝辮瀹氫箟鎴愪負(fù)涓涓潤鎬佸叏灞鍙橀噺銆傛垜浠厛涓句竴涓潤鎬佸叏灞鍙橀噺鐨勪緥瀛愶紝濡備笅錛? //Example&nb...  <a href='http://m.shnenglu.com/Lee7/archive/2008/04/27/48224.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/Lee7/aggbug/48224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2008-04-27 01:00 <a href="http://m.shnenglu.com/Lee7/archive/2008/04/27/48224.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>vc鑷畾涔夋秷鎭殑鍙戦佷笌鎺ユ敹鐨勬柟娉曞疄鐜?http://m.shnenglu.com/Lee7/archive/2008/04/22/47845.htmlisabcisabcTue, 22 Apr 2008 13:17:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/04/22/47845.htmlhttp://m.shnenglu.com/Lee7/comments/47845.htmlhttp://m.shnenglu.com/Lee7/archive/2008/04/22/47845.html#Feedback2http://m.shnenglu.com/Lee7/comments/commentRss/47845.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/47845.html

浠ヤ笅鐢ㄤ竴涓嚜鍒涚殑瀵硅瘽妗嗙被(MyMessageDlg)鍚戣鍥劇被(MessageTestView)
鍙戦佽嚜瀹氫箟娑堟伅涓轟緥錛岃鏄庤繖涓ょ涓嶅悓鏂規(guī)硶鐨勮嚜瀹氫箟娑堟伅鐨?/span>

娑堟伅浼犻掔殑鏂規(guī)硶涓錛氫嬌鐢∣N_MESSAGE
浣跨敤ON_MESSAGE鍝嶅簲娑堟伅錛屽繀欏婚厤鍚堝畾涔夋秷鎭?define WM_MY_MESSAGE (WM_USER+100)

瀵逛簬鍙戦佹秷鎭?/span>-MyMessageDlg錛?br>鍦ㄥ叾MyMessageDlg.h涓紝瀹氫箟#define WM_MY_MESSAGE (WM_USER+100)
鍦ㄥ叾MyMessageDlg.cpp涓鍏堟坊鍔狅細(xì)錛僫 nclude "MainFrm.h"
鍥犱負(fù)浣跨敤浜咰MainFrame*瀹氫箟瀵硅薄銆?br>騫朵笖瑕佹湁嫻嬭瘯娑堟伅鐨勫嚱鏁幫細(xì)
void MyMessageDlg::OnButtonMsg()
{
    // TODO: Add your control notification handler code here
    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;  //鍏堥氳繃鑾峰彇褰撳墠妗嗘灦鎸囬拡
    CView * active = pMF->GetActiveView();//鎵嶈兘鑾峰彇褰撳墠瑙嗙被鎸囬拡
    if(active != NULL)  //鑾峰彇浜嗗綋鍓嶈綾繪寚閽堟墠鑳藉彂閫佹秷鎭?br>    active->PostMessage(WM_MY_MESSAGE,0,0);   //浣跨敤PostMessage鍙戦佹秷鎭?br>}

瀵逛簬娑堟伅鐨勬帴鍙楄?/span>-MessageTestView錛?br>鍦ㄥ叾MessageTestView.h涓紝涔熻瀹氫箟#define WM_MY_MESSAGE (WM_USER+100)
騫跺畾涔夋秷鎭槧灝勫嚱鏁?OnMyMessage()
protected:
 //{{AFX_MSG(CMessageTestView)
 afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
 //}}AFX_MSG
 DECLARE_MESSAGE_MAP()
鍦ㄥ叾MessageTestView.cpp涓紝
鍏堣澹版槑鍝嶅簲娑堟伅錛?br>BEGIN_MESSAGE_MAP(CMessageTestView, CEditView)
 //{{AFX_MSG_MAP(CMessageTestView)
 ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
 //}}AFX_MSG_MAP
鍐嶆坊鍔犳秷鎭搷搴旂殑鍑芥暟瀹炵幇錛?br>LRESULT CMessageTestView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
 MessageBox("OnMyMessage!");
 return 0;
}


娑堟伅浼犻掔殑鏂規(guī)硶浜岋細(xì)浣跨敤ON_REGISTERED_MESSAGE
浣跨敤ON_REGISTERED_MESSAGE娉ㄥ唽娑堟伅錛屽繀欏婚厤鍚?br>static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

瀵逛簬娑堟伅鐨勫彂閫佽?/span>-MyMessageDlg錛?br>鍦ㄥ叾MyMessageDlg.h涓紝鍙
瀹氫箟static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
灝卞彲浠ヤ簡銆?br>鍦ㄥ叾MyMessageDlg.cpp涓鍏堟坊鍔狅細(xì)錛僫 nclude "MainFrm.h"
鍥犱負(fù)浣跨敤浜咰MainFrame*瀹氫箟瀵硅薄銆?br>騫朵笖瑕佹湁嫻嬭瘯娑堟伅鐨勫嚱鏁幫細(xì)
void MyMessageDlg::OnButtonMsg()
{
    // TODO: Add your control notification handler code here
    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;  //鍏堥氳繃鑾峰彇褰撳墠妗嗘灦鎸囬拡
    CView * active = pMF->GetActiveView();//鎵嶈兘鑾峰彇褰撳墠瑙嗙被鎸囬拡
    if(active != NULL)  //鑾峰彇浜嗗綋鍓嶈綾繪寚閽堟墠鑳藉彂閫佹秷鎭?br>    active->PostMessage(WM_MY_MESSAGE,0,0);   //浣跨敤PostMessage鍙戦佹秷鎭?br>}

瀵逛簬娑堟伅鐨勬帴鏀惰?/span>-MessageTestView錛?br>鍦ㄥ叾MessageTestView.h涓笉瑕佸畾涔?br>static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
搴旇鎶婅繖涓畾涔夋斁鍒癕essageTestView.cpp涓紝瑕佷笉浼?xì)鍑虹? redefinition
鍦ㄥ叾MessageTestView.h涓彧瑕佸畾涔夋秷鎭槧灝勫嚱鏁?br>protected:
 //{{AFX_MSG(CMessageTestView)
 afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
 //}}AFX_MSG
 DECLARE_MESSAGE_MAP()
鍦ㄥ叾MessageTestView.cpp涓?鍏堝畾涔?br>static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
鎺ョ潃娉ㄥ唽娑堟伅錛?br>BEGIN_MESSAGE_MAP(CMessageTestView, CEditView)
 //{{AFX_MSG_MAP(CMessageTestView)
        ON_REGISTERED_MESSAGE(WM_MY_MESSAGE,OnMyMessage)
 //}}AFX_MSG_MAP
鏈鍚庢坊鍔犳秷鎭搷搴旂殑鍑芥暟瀹炵幇錛?br>LRESULT CMessageTestView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
 MessageBox("OnMyMessage!");
 return 0;
}
----------------------------------------------------------------
姣旇緝涓ょ鏂規(guī)硶錛屽彧鏄暐鏈変笉鍚屻備絾涔熻灝忓績璋ㄦ厧錛屼互鍏嶅嚭鐜版帴鏀朵笉鍒版秷鎭殑鎯呭喌銆?/p>

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

鍏朵粬娉ㄦ剰浜嬮」錛?/p>

鍙戦佹秷鎭殑-MyMessageDlg.cpp鍓嶄篃瑕佸畾涔?br>static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

鎺ュ彈娑堟伅鐨?MessageTestView.cpp鍓嶄篃瑕佸畾涔?br>static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

RegisterWindowMessage("Message")涓?"鐨勫唴瀹規(guī)槸浠涔堜笉閲嶈錛屽啓浠涔堥兘鍙互錛屼絾鏄?br>鍙戦佽呬笌鎺ュ彈鑰呭繀欏繪槸涓鏍風(fēng)殑鍐呭錛屼緥濡傦細(xì)"Message"



isabc 2008-04-22 21:17 鍙戣〃璇勮
]]>
鏂囨。宸ョ▼涓被涔嬮棿鐩鎬簰鎸囬拡鐨勮幏鍙?/title><link>http://m.shnenglu.com/Lee7/archive/2008/04/15/47162.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Tue, 15 Apr 2008 14:41:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2008/04/15/47162.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/47162.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2008/04/15/47162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/47162.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/47162.html</trackback:ping><description><![CDATA[     鎽樿: 1) 鍦╒iew涓幏寰桪oc鎸囬拡2) 鍦ˋpp涓幏寰桵ainFrame鎸囬拡3) 鍦╒iew涓幏寰桵ainFrame鎸囬拡4) 鑾峰緱View錛堝凡寤虹珛錛夋寚閽?) 鑾峰緱褰撳墠鏂囨。鎸囬拡6) 鑾峰緱鐘舵佹爮涓庡伐鍏鋒爮鎸囬拡7) 鑾峰緱鐘舵佹爮涓庡伐鍏鋒爮鍙橀噺8) 鍦∕ainframe鑾峰緱鑿滃崟鎸囬拡9) 鍦ㄤ換浣曠被涓幏寰楀簲鐢ㄧ▼搴忕被10) 浠庢枃妗g被鍙栧緱瑙嗗浘綾葷殑鎸囬拡(1)11) 鍦ˋpp涓幏寰楁枃妗fā鏉挎寚閽?2) 浠庢枃妗fā鏉胯幏寰楁枃妗g被鎸囬拡13) 鍦ㄦ枃妗g被涓幏寰楁枃妗fā鏉挎寚閽?4) 浠庢枃妗g被鍙栧緱瑙嗗浘綾葷殑鎸囬拡(2)15) 浠庝竴涓鍥劇被鍙栧緱鍙︿竴瑙嗗浘綾葷殑鎸囬拡  <a href='http://m.shnenglu.com/Lee7/archive/2008/04/15/47162.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/Lee7/aggbug/47162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2008-04-15 22:41 <a href="http://m.shnenglu.com/Lee7/archive/2008/04/15/47162.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>c++涓殑list鐢ㄦ硶http://m.shnenglu.com/Lee7/archive/2008/04/14/47036.htmlisabcisabcMon, 14 Apr 2008 05:48:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/04/14/47036.htmlhttp://m.shnenglu.com/Lee7/comments/47036.htmlhttp://m.shnenglu.com/Lee7/archive/2008/04/14/47036.html#Feedback1http://m.shnenglu.com/Lee7/comments/commentRss/47036.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/47036.html 

#include <iostream> 
#include 
<list> 
#include 
<numeric> 
#include 
<algorithm> 

using namespace std; 

//鍒涘緩涓涓猯ist瀹瑰櫒鐨勫疄渚婰ISTINT 
typedef list<int> LISTINT; 

//鍒涘緩涓涓猯ist瀹瑰櫒鐨勫疄渚婰ISTCHAR 
typedef list<int> LISTCHAR; 

void main(void

    
//-------------------------- 
    
//鐢╨ist瀹瑰櫒澶勭悊鏁村瀷鏁版嵁 
    
//-------------------------- 
    
//鐢↙ISTINT鍒涘緩涓涓悕涓簂istOne鐨刲ist瀵硅薄 
    LISTINT listOne; 
    
//澹版槑i涓鴻凱浠e櫒 
    LISTINT::iterator i; 
    
    
//浠庡墠闈㈠悜listOne瀹瑰櫒涓坊鍔犳暟鎹?nbsp;
    listOne.push_front (2); 
    listOne.push_front (
1); 
    
    
//浠庡悗闈㈠悜listOne瀹瑰櫒涓坊鍔犳暟鎹?nbsp;
    listOne.push_back (3); 
    listOne.push_back (
4); 
    
    
//浠庡墠鍚戝悗鏄劇ずlistOne涓殑鏁版嵁 
    cout<<"listOne.begin()--- listOne.end():"<<endl; 
    
for (i = listOne.begin(); i != listOne.end(); ++i) 
        cout 
<< *<< " "
    cout 
<< endl; 
    
    
//浠庡悗鍚戝悗鏄劇ずlistOne涓殑鏁版嵁 
    LISTINT::reverse_iterator ir; 
    cout
<<"listOne.rbegin()---listOne.rend():"<<endl; 
    
for (ir =listOne.rbegin(); ir!=listOne.rend();ir++
        cout 
<< *ir << " "
    }
 
    cout 
<< endl; 
    
    
//浣跨敤STL鐨刟ccumulate(绱姞)綆楁硶 
    int result = accumulate(listOne.begin(), listOne.end(),0); 
    cout
<<"Sum="<<result<<endl; 
    cout
<<"------------------"<<endl; 
    
    
//-------------------------- 
    
//鐢╨ist瀹瑰櫒澶勭悊瀛楃鍨嬫暟鎹?nbsp;
    
//-------------------------- 
    
    
//鐢↙ISTCHAR鍒涘緩涓涓悕涓簂istOne鐨刲ist瀵硅薄 
    LISTCHAR listTwo; 
    
//澹版槑i涓鴻凱浠e櫒 
    LISTCHAR::iterator j; 
    
    
//浠庡墠闈㈠悜listTwo瀹瑰櫒涓坊鍔犳暟鎹?nbsp;
    listTwo.push_front ('A'); 
    listTwo.push_front (
'B'); 
    
    
//浠庡悗闈㈠悜listTwo瀹瑰櫒涓坊鍔犳暟鎹?nbsp;
    listTwo.push_back ('x'); 
    listTwo.push_back (
'y'); 
    
    
//浠庡墠鍚戝悗鏄劇ずlistTwo涓殑鏁版嵁 
    cout<<"listTwo.begin()---listTwo.end():"<<endl; 
    
for (j = listTwo.begin(); j != listTwo.end(); ++j) 
        cout 
<< char(*j) << " "
    cout 
<< endl; 
    
    
//浣跨敤STL鐨刴ax_element綆楁硶姹俵istTwo涓殑鏈澶у厓绱犲茍鏄劇ず 
    j=max_element(listTwo.begin(),listTwo.end()); 
    cout 
<< "The maximum element in listTwo is: "<<char(*j)<<endl; 
}
 

#include 
<iostream> 
#include 
<list> 

using namespace std; 
typedef list
<int> INTLIST; 

//浠庡墠鍚戝悗鏄劇ずlist闃熷垪鐨勫叏閮ㄥ厓绱?nbsp;
void put_list(INTLIST list, char *name) 

    INTLIST::iterator plist; 
    
    cout 
<< "The contents of " << name << " : "
    
for(plist = list.begin(); plist != list.end(); plist++
        cout 
<< *plist << " "
    cout
<<endl; 
}
 

//嫻嬭瘯list瀹瑰櫒鐨勫姛鑳?nbsp;
void main(void

    
//list1瀵硅薄鍒濆涓虹┖ 
    INTLIST list1; 
    
//list2瀵硅薄鏈鍒濇湁10涓間負(fù)6鐨勫厓绱?nbsp;
    INTLIST list2(10,6); 
    
//list3瀵硅薄鏈鍒濇湁3涓間負(fù)6鐨勫厓绱?nbsp;
    INTLIST list3(list2.begin(),--list2.end()); 
    
    
//澹版槑涓涓悕涓篿鐨勫弻鍚戣凱浠e櫒 
    INTLIST::iterator i; 
    
    
//浠庡墠鍚戝悗鏄劇ず鍚刲ist瀵硅薄鐨勫厓绱?nbsp;
    put_list(list1,"list1"); 
    put_list(list2,
"list2"); 
    put_list(list3,
"list3"); 
    
    
//浠巐ist1搴忓垪鍚庨潰娣誨姞涓や釜鍏冪礌 
    list1.push_back(2); 
    list1.push_back(
4); 
    cout
<<"list1.push_back(2) and list1.push_back(4):"<<endl; 
    put_list(list1,
"list1"); 
    
    
//浠巐ist1搴忓垪鍓嶉潰娣誨姞涓や釜鍏冪礌 
    list1.push_front(5); 
    list1.push_front(
7); 
    cout
<<"list1.push_front(5) and list1.push_front(7):"<<endl; 
    put_list(list1,
"list1"); 
    
    
//鍦╨ist1搴忓垪涓棿鎻掑叆鏁版嵁 
    list1.insert(++list1.begin(),3,9); 
    cout
<<"list1.insert(list1.begin()+1,3,9):"<<endl; 
    put_list(list1,
"list1"); 
    
    
//嫻嬭瘯寮曠敤綾誨嚱鏁?nbsp;
    cout<<"list1.front()="<<list1.front()<<endl; 
    cout
<<"list1.back()="<<list1.back()<<endl; 
    
    
//浠巐ist1搴忓垪鐨勫墠鍚庡悇縐誨幓涓涓厓绱?nbsp;
    list1.pop_front(); 
    list1.pop_back(); 
    cout
<<"list1.pop_front() and list1.pop_back():"<<endl; 
    put_list(list1,
"list1"); 
    
    
//娓呴櫎list1涓殑絎?涓厓绱?nbsp;
    list1.erase(++list1.begin()); 
    cout
<<"list1.erase(++list1.begin()):"<<endl; 
    put_list(list1,
"list1"); 
    
    
//瀵筶ist2璧嬪煎茍鏄劇ず 
    list2.assign(8,1); 
    cout
<<"list2.assign(8,1):"<<endl; 
    put_list(list2,
"list2"); 
    
    
//鏄劇ず搴忓垪鐨勭姸鎬佷俊鎭?nbsp;
    cout<<"list1.max_size(): "<<list1.max_size()<<endl; 
    cout
<<"list1.size(): "<<list1.size()<<endl; 
    cout
<<"list1.empty(): "<<list1.empty()<<endl; 
    
    
//list搴忓垪瀹瑰櫒鐨勮繍綆?nbsp;
    put_list(list1,"list1"); 
    put_list(list3,
"list3"); 
    cout
<<"list1>list3: "<<(list1>list3)<<endl; 
    cout
<<"list1<list3: "<<(list1<list3)<<endl; 
    
    
//瀵筶ist1瀹瑰櫒鎺掑簭 
    list1.sort(); 
    put_list(list1,
"list1"); 
    
    
//緇撳悎澶勭悊 
    list1.splice(++list1.begin(), list3); 
    put_list(list1,
"list1"); 
    put_list(list3,
"list3"); 
}
 



isabc 2008-04-14 13:48 鍙戣〃璇勮
]]>
List,set,Map 鐨勭敤娉曞拰鍖哄埆絳?[杞琞http://m.shnenglu.com/Lee7/archive/2008/04/14/47037.htmlisabcisabcMon, 14 Apr 2008 05:48:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/04/14/47037.htmlhttp://m.shnenglu.com/Lee7/comments/47037.htmlhttp://m.shnenglu.com/Lee7/archive/2008/04/14/47037.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/47037.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/47037.htmlCollection
鈹淟ist
鈹傗敎LinkedList
鈹傗敎ArrayList
鈹傗敂Vector
鈹傘鈹擲tack
鈹擲et
Map
鈹淗ashtable
鈹淗ashMap
鈹擶eakHashMap

Collection鎺ュ彛
銆銆Collection鏄渶鍩烘湰鐨勯泦鍚堟帴鍙o紝涓涓狢ollection浠h〃涓緇凮bject錛屽嵆Collection鐨勫厓绱狅紙Elements錛夈備竴浜?Collection鍏佽鐩稿悓鐨勫厓绱犺屽彟涓浜涗笉琛屻備竴浜涜兘鎺掑簭鑰屽彟涓浜涗笉琛屻侸ava SDK涓嶆彁渚涚洿鎺ョ戶鎵胯嚜Collection鐨勭被錛孞ava SDK鎻愪緵鐨勭被閮芥槸緇ф壙鑷狢ollection鐨?#8220;瀛愭帴鍙?#8221;濡侺ist鍜孲et銆?br>銆銆鎵鏈夊疄鐜癈ollection鎺ュ彛鐨勭被閮藉繀欏繪彁渚涗袱涓爣鍑嗙殑鏋勯犲嚱鏁幫細(xì)鏃犲弬鏁扮殑鏋勯犲嚱鏁扮敤浜庡垱寤轟竴涓┖鐨凜ollection錛屾湁涓涓?Collection鍙傛暟鐨勬瀯閫犲嚱鏁扮敤浜庡垱寤轟竴涓柊鐨凜ollection錛岃繖涓柊鐨凜ollection涓庝紶鍏ョ殑Collection鏈夌浉鍚岀殑鍏冪礌銆傚悗涓涓瀯閫犲嚱鏁板厑璁哥敤鎴峰鍒朵竴涓狢ollection銆?br>銆銆濡備綍閬嶅巻Collection涓殑姣忎竴涓厓绱狅紵涓嶈Collection鐨勫疄闄呯被鍨嬪浣曪紝瀹冮兘鏀寔涓涓猧terator()鐨勬柟娉曪紝璇ユ柟娉曡繑鍥炰竴涓凱浠e瓙錛屼嬌鐢ㄨ榪唬瀛愬嵆鍙愪竴璁塊棶Collection涓瘡涓涓厓绱犮傚吀鍨嬬殑鐢ㄦ硶濡備笅錛?br>銆銆銆銆Iterator it = collection.iterator(); // 鑾峰緱涓涓凱浠e瓙
銆銆銆銆while(it.hasNext()) {
銆銆銆銆銆銆Object obj = it.next(); // 寰楀埌涓嬩竴涓厓绱?br>銆銆銆銆}
銆銆鐢盋ollection鎺ュ彛媧劇敓鐨勪袱涓帴鍙f槸List鍜孲et銆?br>
List鎺ュ彛
銆銆List鏄湁搴忕殑Collection錛屼嬌鐢ㄦ鎺ュ彛鑳藉綺劇‘鐨勬帶鍒舵瘡涓厓绱犳彃鍏ョ殑浣嶇疆銆傜敤鎴瘋兘澶熶嬌鐢ㄧ儲寮曪紙鍏冪礌鍦↙ist涓殑浣嶇疆錛岀被浼間簬鏁扮粍涓嬫爣錛夋潵璁塊棶List涓殑鍏冪礌錛岃繖綾諱技浜嶫ava鐨勬暟緇勩?br>鍜屼笅闈㈣鎻愬埌鐨凷et涓嶅悓錛孡ist鍏佽鏈夌浉鍚岀殑鍏冪礌銆?br>銆銆闄や簡鍏鋒湁Collection鎺ュ彛蹇呭鐨刬terator()鏂規(guī)硶澶栵紝List榪樻彁渚涗竴涓猯istIterator()鏂規(guī)硶錛岃繑鍥炰竴涓?ListIterator鎺ュ彛錛屽拰鏍囧噯鐨処terator鎺ュ彛鐩告瘮錛孡istIterator澶氫簡涓浜沘dd()涔嬬被鐨勬柟娉曪紝鍏佽娣誨姞錛屽垹闄わ紝璁懼畾鍏冪礌錛岃繕鑳藉悜鍓嶆垨鍚戝悗閬嶅巻銆?br>銆銆瀹炵幇List鎺ュ彛鐨勫父鐢ㄧ被鏈塋inkedList錛孉rrayList錛孷ector鍜孲tack銆?br>
LinkedList綾?br>銆銆LinkedList瀹炵幇浜哃ist鎺ュ彛錛屽厑璁竛ull鍏冪礌銆傛澶朙inkedList鎻愪緵棰濆鐨刧et錛宺emove錛宨nsert鏂規(guī)硶鍦?LinkedList鐨勯閮ㄦ垨灝鵑儴銆傝繖浜涙搷浣滀嬌LinkedList鍙鐢ㄤ綔鍫嗘爤錛坰tack錛夛紝闃熷垪錛坬ueue錛夋垨鍙屽悜闃熷垪錛坉eque錛夈?br>銆銆娉ㄦ剰LinkedList娌℃湁鍚屾鏂規(guī)硶銆傚鏋滃涓嚎紼嬪悓鏃惰闂竴涓狶ist錛屽垯蹇呴』鑷繁瀹炵幇璁塊棶鍚屾銆備竴縐嶈В鍐蟲柟娉曟槸鍦ㄥ垱寤篖ist鏃舵瀯閫犱竴涓悓姝ョ殑List錛?br>銆銆銆銆List list = Collections.synchronizedList(new LinkedList(...));

ArrayList綾?br>銆銆ArrayList瀹炵幇浜嗗彲鍙樺ぇ灝忕殑鏁扮粍銆傚畠鍏佽鎵鏈夊厓绱狅紝鍖呮嫭null銆侫rrayList娌℃湁鍚屾銆?br>size錛宨sEmpty錛実et錛宻et鏂規(guī)硶榪愯鏃墮棿涓哄父鏁般備絾鏄痑dd鏂規(guī)硶寮閿涓哄垎鎽婄殑甯告暟錛屾坊鍔爊涓厓绱犻渶瑕丱(n)鐨勬椂闂淬傚叾浠栫殑鏂規(guī)硶榪愯鏃墮棿涓虹嚎鎬с?br>銆銆姣忎釜ArrayList瀹炰緥閮芥湁涓涓閲忥紙Capacity錛夛紝鍗崇敤浜庡瓨鍌ㄥ厓绱犵殑鏁扮粍鐨勫ぇ灝忋傝繖涓閲忓彲闅忕潃涓嶆柇娣誨姞鏂板厓绱犺岃嚜鍔ㄥ鍔狅紝浣嗘槸澧為暱綆楁硶騫舵病鏈夊畾涔夈傚綋闇瑕佹彃鍏ュぇ閲忓厓绱犳椂錛屽湪鎻掑叆鍓嶅彲浠ヨ皟鐢╡nsureCapacity鏂規(guī)硶鏉ュ鍔燗rrayList鐨勫閲忎互鎻愰珮鎻掑叆鏁堢巼銆?br>銆銆鍜孡inkedList涓鏍鳳紝ArrayList涔熸槸闈炲悓姝ョ殑錛坲nsynchronized錛夈?br>
Vector綾?br>銆銆Vector闈炲父綾諱技ArrayList錛屼絾鏄疺ector鏄悓姝ョ殑銆傜敱Vector鍒涘緩鐨処terator錛岃櫧鐒跺拰ArrayList鍒涘緩鐨?Iterator鏄悓涓鎺ュ彛錛屼絾鏄紝鍥犱負(fù)Vector鏄悓姝ョ殑錛屽綋涓涓狪terator琚垱寤鴻屼笖姝e湪琚嬌鐢紝鍙︿竴涓嚎紼嬫敼鍙樹簡Vector鐨勭姸鎬侊紙渚嬪錛屾坊鍔犳垨鍒犻櫎浜嗕竴浜涘厓绱狅級錛岃繖鏃惰皟鐢↖terator鐨勬柟娉曟椂灝嗘姏鍑篊oncurrentModificationException錛屽洜姝ゅ繀欏繪崟鑾瘋寮傚父銆?br>
Stack 綾?br>銆銆Stack緇ф壙鑷猇ector錛屽疄鐜頒竴涓悗榪涘厛鍑虹殑鍫嗘爤銆係tack鎻愪緵5涓澶栫殑鏂規(guī)硶浣垮緱Vector寰椾互琚綋浣滃爢鏍堜嬌鐢ㄣ傚熀鏈殑push鍜宲op 鏂規(guī)硶錛岃繕鏈塸eek鏂規(guī)硶寰楀埌鏍堥《鐨勫厓绱狅紝empty鏂規(guī)硶嫻嬭瘯鍫嗘爤鏄惁涓虹┖錛宻earch鏂規(guī)硶媯(gè)嫻嬩竴涓厓绱犲湪鍫嗘爤涓殑浣嶇疆銆係tack鍒氬垱寤哄悗鏄┖鏍堛?br>
Set鎺ュ彛
銆銆Set鏄竴縐嶄笉鍖呭惈閲嶅鐨勫厓绱犵殑Collection錛屽嵆浠繪剰鐨勪袱涓厓绱爀1鍜宔2閮芥湁e1.equals(e2)=false錛孲et鏈澶氭湁涓涓猲ull鍏冪礌銆?br>銆銆寰堟槑鏄撅紝Set鐨勬瀯閫犲嚱鏁版湁涓涓害鏉熸潯浠訛紝浼犲叆鐨凜ollection鍙傛暟涓嶈兘鍖呭惈閲嶅鐨勫厓绱犮?br>銆銆璇鋒敞鎰忥細(xì)蹇呴』灝忓績鎿嶄綔鍙彉瀵硅薄錛圡utable Object錛夈傚鏋滀竴涓猄et涓殑鍙彉鍏冪礌鏀瑰彉浜嗚嚜韜姸鎬佸鑷碠bject.equals(Object)=true灝嗗鑷翠竴浜涢棶棰樸?br>
Map鎺ュ彛
銆銆璇鋒敞鎰忥紝Map娌℃湁緇ф壙Collection鎺ュ彛錛孧ap鎻愪緵key鍒皏alue鐨勬槧灝勩備竴涓狹ap涓笉鑳藉寘鍚浉鍚岀殑key錛屾瘡涓猭ey鍙兘鏄犲皠涓涓?value銆侻ap鎺ュ彛鎻愪緵3縐嶉泦鍚堢殑瑙嗗浘錛孧ap鐨勫唴瀹瑰彲浠ヨ褰撲綔涓緇刱ey闆嗗悎錛屼竴緇剉alue闆嗗悎錛屾垨鑰呬竴緇刱ey-value鏄犲皠銆?br>
Hashtable綾?br>銆銆Hashtable緇ф壙Map鎺ュ彛錛屽疄鐜頒竴涓猭ey-value鏄犲皠鐨勫搱甯岃〃銆備換浣曢潪絀猴紙non-null錛夌殑瀵硅薄閮藉彲浣滀負(fù)key鎴栬卾alue銆?br>銆銆娣誨姞鏁版嵁浣跨敤put(key, value)錛屽彇鍑烘暟鎹嬌鐢╣et(key)錛岃繖涓や釜鍩烘湰鎿嶄綔鐨勬椂闂村紑閿涓哄父鏁般?br>Hashtable閫氳繃initial capacity鍜宭oad factor涓や釜鍙傛暟璋冩暣鎬ц兘銆傞氬父緙虹渷鐨刲oad factor 0.75杈冨ソ鍦板疄鐜頒簡鏃墮棿鍜岀┖闂寸殑鍧囪 銆傚澶oad factor鍙互鑺傜渷絀洪棿浣嗙浉搴旂殑鏌ユ壘鏃墮棿灝嗗澶э紝榪欎細(xì)褰卞搷鍍廹et鍜宲ut榪欐牱鐨勬搷浣溿?br>浣跨敤Hashtable鐨勭畝鍗曠ず渚嬪涓嬶紝灝?錛?錛?鏀懼埌Hashtable涓紝浠栦滑鐨刱ey鍒嗗埆鏄?#8221;one”錛?#8221;two”錛?#8221;three”錛?br>銆銆銆銆Hashtable numbers = new Hashtable();
銆銆銆銆numbers.put(“one”, new Integer(1));
銆銆銆銆numbers.put(“two”, new Integer(2));
銆銆銆銆numbers.put(“three”, new Integer(3));
銆銆瑕佸彇鍑轟竴涓暟錛屾瘮濡?錛岀敤鐩稿簲鐨刱ey錛?br>銆銆銆銆Integer n = (Integer)numbers.get(“two”);
銆銆銆銆System.out.println(“two = ” + n);
銆銆鐢變簬浣滀負(fù)key鐨勫璞″皢閫氳繃璁$畻鍏舵暎鍒楀嚱鏁版潵紜畾涓庝箣瀵瑰簲鐨剉alue鐨勪綅緗紝鍥犳浠諱綍浣滀負(fù)key鐨勫璞¢兘蹇呴』瀹炵幇hashCode鍜宔quals鏂規(guī)硶銆俬ashCode鍜宔quals鏂規(guī)硶緇ф壙鑷牴綾籓bject錛屽鏋滀綘鐢ㄨ嚜瀹氫箟鐨勭被褰撲綔key鐨勮瘽錛岃鐩稿綋灝忓績錛屾寜鐓ф暎鍒楀嚱鏁扮殑瀹氫箟錛屽鏋滀袱涓璞$浉鍚岋紝鍗硂bj1.equals(obj2)=true錛屽垯瀹冧滑鐨刪ashCode蹇呴』鐩稿悓錛屼絾濡傛灉涓や釜瀵硅薄涓嶅悓錛屽垯瀹冧滑鐨刪ashCode涓嶄竴瀹氫笉鍚岋紝濡傛灉涓や釜涓嶅悓瀵硅薄鐨刪ashCode鐩稿悓錛岃繖縐嶇幇璞$О涓哄啿紿侊紝鍐茬獊浼?xì)瀵艰嚧鎿嶄綔鍝堝笇琛ㄧ殑鏃堕棿寮閿澧炲ぇ錛屾墍浠ュ敖閲忓畾涔夊ソ鐨刪ashCode()鏂規(guī)硶錛岃兘鍔犲揩鍝堝笇琛ㄧ殑鎿嶄綔銆?br>銆銆濡傛灉鐩稿悓鐨勫璞℃湁涓嶅悓鐨刪ashCode錛屽鍝堝笇琛ㄧ殑鎿嶄綔浼?xì)鍑虹幇鎰忔兂涓嶅埌鐨劸l撴灉錛堟湡寰呯殑get鏂規(guī)硶榪斿洖null錛夛紝瑕侀伩鍏嶈繖縐嶉棶棰橈紝鍙渶瑕佺墷璁頒竴鏉★細(xì)瑕佸悓鏃跺鍐檈quals鏂規(guī)硶鍜宧ashCode鏂規(guī)硶錛岃屼笉瑕佸彧鍐欏叾涓竴涓?br>銆銆Hashtable鏄悓姝ョ殑銆?br>
HashMap綾?br>銆銆HashMap鍜孒ashtable綾諱技錛屼笉鍚屼箣澶勫湪浜嶩ashMap鏄潪鍚屾鐨勶紝騫朵笖鍏佽null錛屽嵆null value鍜宯ull key銆傦紝浣嗘槸灝咹ashMap瑙嗕負(fù)Collection鏃訛紙values()鏂規(guī)硶鍙繑鍥濩ollection錛夛紝鍏惰凱浠e瓙鎿嶄綔鏃墮棿寮閿鍜孒ashMap 鐨勫閲忔垚姣斾緥銆傚洜姝わ紝濡傛灉榪唬鎿嶄綔鐨勬ц兘鐩稿綋閲嶈鐨勮瘽錛屼笉瑕佸皢HashMap鐨勫垵濮嬪寲瀹歸噺璁懼緱榪囬珮錛屾垨鑰卨oad factor榪囦綆銆?br>
WeakHashMap綾?br>銆銆WeakHashMap鏄竴縐嶆敼榪涚殑HashMap錛屽畠瀵筴ey瀹炶“寮卞紩鐢?#8221;錛屽鏋滀竴涓猭ey涓嶅啀琚閮ㄦ墍寮曠敤錛岄偅涔堣key鍙互琚獹C鍥炴敹銆?br>
鎬葷粨
銆銆濡傛灉娑夊強(qiáng)鍒板爢鏍堬紝闃熷垪絳夋搷浣滐紝搴旇鑰冭檻鐢↙ist錛屽浜庨渶瑕佸揩閫熸彃鍏ワ紝鍒犻櫎鍏冪礌錛屽簲璇ヤ嬌鐢↙inkedList錛屽鏋滈渶瑕佸揩閫熼殢鏈鴻闂厓绱狅紝搴旇浣跨敤ArrayList銆?br>銆銆濡傛灉紼嬪簭鍦ㄥ崟綰跨▼鐜涓紝鎴栬呰闂粎浠呭湪涓涓嚎紼嬩腑榪涜錛岃冭檻闈炲悓姝ョ殑綾伙紝鍏舵晥鐜囪緝楂橈紝濡傛灉澶氫釜綰跨▼鍙兘鍚屾椂鎿嶄綔涓涓被錛屽簲璇ヤ嬌鐢ㄥ悓姝ョ殑綾匯?br>銆銆瑕佺壒鍒敞鎰忓鍝堝笇琛ㄧ殑鎿嶄綔錛屼綔涓簁ey鐨勫璞¤姝g‘澶嶅啓equals鍜宧ashCode鏂規(guī)硶銆?br>銆銆灝介噺榪斿洖鎺ュ彛鑰岄潪瀹為檯鐨勭被鍨嬶紝濡傝繑鍥濴ist鑰岄潪ArrayList錛岃繖鏍峰鏋滀互鍚庨渶瑕佸皢ArrayList鎹㈡垚LinkedList鏃訛紝瀹㈡埛绔唬鐮佷笉鐢ㄦ敼鍙樸傝繖灝辨槸閽堝鎶借薄緙栫▼銆?nbsp;


isabc 2008-04-14 13:48 鍙戣〃璇勮
]]>
MFC涓嚜鐢變嬌鐢ㄨ嚜瀹氫箟娑堟伅http://m.shnenglu.com/Lee7/archive/2008/03/31/45826.htmlisabcisabcMon, 31 Mar 2008 09:10:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/03/31/45826.htmlhttp://m.shnenglu.com/Lee7/comments/45826.htmlhttp://m.shnenglu.com/Lee7/archive/2008/03/31/45826.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/45826.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/45826.html
銆銆絎竴姝?瀹氫箟娑堟伅銆?br>
銆銆鎺ㄨ崘鐢ㄦ埛鑷畾涔夋秷鎭嚦灝戞槸WM_USER+100錛屽洜涓哄緢澶氭柊鎺т歡涔熻浣跨敤WM_USER娑堟伅銆?br>
#define WM_MY_MESSAGE (WM_USER+100)

銆銆絎簩姝?瀹炵幇娑堟伅澶勭悊鍑芥暟銆傝鍑芥暟浣跨敤WPRAM鍜孡PARAM鍙傛暟騫惰繑鍥濴PESULT銆?

LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 澶勭悊鐢ㄦ埛鑷畾涔夋秷鎭?
...
return 0;
}

銆銆絎笁姝?鍦ㄧ被澶存枃浠剁殑AFX_MSG鍧椾腑璇存槑娑堟伅澶勭悊鍑芥暟:

class CMainFrame:public CMDIFrameWnd
{
...
// 涓鑸秷鎭槧灝勫嚱鏁?
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}

銆銆絎洓姝?鍦ㄧ敤鎴風(fēng)被鐨勬秷鎭潡涓紝浣跨敤ON_MESSAGE瀹忔寚浠ゅ皢娑堟伅鏄犲皠鍒版秷鎭鐞嗗嚱鏁頒腑銆?

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
銆銆濡傛灉鐢ㄦ埛闇瑕佷竴涓畾涔夋暣涓郴緇熷敮涓鐨勬秷鎭?鍙互璋冪敤SDK鍑芥暟RegisterWindowMessage瀹氫箟娑堟伅:

static UINT WM_MY_MESSAGE=RegisterWindowMessage("User");

銆銆騫朵嬌鐢∣N_REGISTERED_MESSAGE瀹忔寚浠ゅ彇浠N_MESSAGE瀹忔寚浠?鍏朵綑姝ラ鍚屼笂銆?br>
銆銆褰撻渶瑕佷嬌鐢ㄨ嚜瀹氫箟娑堟伅鏃?鍙互鍦ㄧ浉搴旂被涓殑鍑芥暟涓皟鐢ㄥ嚱鏁癙ostMessage鎴朣endMessage鍙戦佹秷鎭疨oseMessage(WM_MY_MESSAGE,O,O); 濡傛灉鍚戝叾浠栬繘紼嬪彂閫佹秷鎭彲閫氳繃濡備笅鏂規(guī)硶鍙戦佹秷鎭?

DWORD result;
SendMessageTimeout(wnd->m_hWnd, // 鐩爣紿楀彛
WM_MY_MESSAGE, // 娑堟伅
0, // WPARAM
0, // LPARAM
SMTO_ABORTIFHUNG |
SMTO_NORMAL,
TIMEOUT_INTERVAL,
&result);

銆銆浠ラ伩鍏嶅叾瀹冭繘紼嬪鏋滆闃誨鑰岄犳垚緋葷粺姝葷瓑鐘舵併?br>
銆銆鍙槸濡傛灉闇瑕佸悜鍏跺畠綾?濡備富妗嗘灦銆佸瓙紿楀彛銆佽綾匯佸璇濇銆佺姸鎬佹潯銆佸伐鍏鋒潯鎴栧叾浠栨帶浠剁瓑)鍙戦佹秷鎭椂,涓婅堪鏂規(guī)硶鏄懼緱鏃犺兘涓哄姏錛岃屽湪緙栫▼榪囩▼涓線寰闇瑕佽幏鍙栧叾瀹冪被涓殑鏌愪釜璇嗗埆淇″彿,MFC妗嗘灦緇欐垜浠犳垚浜嗙縐嶉檺鍒?浣嗘槸鍙互閫氳繃鑾峰彇鏌愪釜綾葷殑鎸囬拡鑰屽悜榪欎釜綾誨彂閫佹秷鎭紝鑰岃嚜瀹氫箟娑堟伅鐨勫悇縐嶅姩浣滃垯鍦ㄨ繖涓被涓畾涔夛紝榪欐牱灝卞彲浠ヨ嚜鐢辮嚜鍦ㄧ殑鍚戝叾瀹冪被鍙戦佹秷鎭簡銆?br>
銆銆涓嬮潰涓劇殑渚嬪瓙鍙欒堪浜嗗悜瑙嗙被鍜屾鏋剁被鍙戦佹秷鎭殑鏂規(guī)硶錛?br>
銆銆鍦ㄤ富妗嗘灦綾諱腑鍚戣綾誨彂閫佹秷鎭細(xì)

銆銆瑙嗙被涓畾涔夋秷鎭細(xì)

ON_REGISTERED_MESSAGE(WM_MY_MESSAGE,OnMyMessage) //瀹氫箟娑堟伅鏄犲皠
瑙嗙被瀹氫箟娑堟伅澶勭悊鍑芥暟錛?br>
// 娑堟伅澶勭悊鍑芥暟
LRESULT CMessageView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 澶勭悊鐢ㄦ埛鑷畾涔夋秷鎭?
...
return 0;
}

//鍙戦佹秷鎭殑嫻嬭瘯鍑芥暟
void CMainFrame::OnTest()
{
CView * active = GetActiveView();//鑾峰彇褰撳墠瑙嗙被鎸囬拡
if(active != NULL)
active->PostMessage(WM_MY_MESSAGE,0,0);
}

銆銆鍦ㄥ叾瀹冪被涓悜瑙嗙被鍙戦佹秷鎭細(xì)

//鍙戦佹秷鎭殑嫻嬭瘯鍑芥暟
void CMainFrame::OnTest()
{
CMDIFrameWnd *pFrame;
CMDIChildWnd *pChild;
CView *pView;
//鑾峰彇涓葷獥鍙f寚閽?br>pFrame =(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
// 鑾峰彇瀛愮獥鍙f寚閽?br>pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
//鑾峰彇瑙嗙被鎸囬拡
pView = pChild->GetActiveView();
if(pView != NULL)
pView->PostMessage(WM_MY_MESSAGE,0,0);//鍙戦佹秷鎭?br>}

銆銆鍏朵綑姝ラ鍚屼笂銆?br>銆銆鍦ㄨ綾諱腑鍚戜富妗嗘灦鍙戦佹秷鎭?

銆銆棣栧厛鍦ㄤ富妗嗘灦涓畾涔夌浉鍏崇殑娑堟伅,鏂規(guī)硶鍚屼笂,鐒跺悗鍦ㄥ彂閫佹秷鎭殑鍑芥暟涓坊鍔犱唬鐮佸涓?br>
//鍙戦佹秷鎭殑嫻嬭瘯鍑芥暟
void CMessageView::OnTest()
{
CFrameWnd * active = GetActiveFrame();//鑾峰彇褰撳墠涓葷獥鍙f鏋舵寚閽?br>if(active != this)
active->PostMessage(WM_MY_MESSAGE,0,0);
return 0;
}

銆銆鍦ㄥ叾瀹冪被涓悜涓嶅悓鐨勭被鍙戦佹秷鎭彲渚濇鏂規(guī)硶綾繪帹錛岃繖鏍鋒垜浠殑紼嬪簭灝卞彲浠ョ殑涓嶅彈闄愬埗鍚戝叾瀹冪被鍜岃繘紼嬪彂閫佹秷鎭紝鑰岄伩鍏嶄簡縐嶇鎰忔兂涓嶅埌鐨勯闄┿?br>
銆銆涓嬮潰涓涓緥瀛愮▼搴忎負(fù)澶氭枃妗g▼搴忛噷鍦ㄤ竴瀵硅瘽妗嗕腑鍚戣綾誨彂閫佹秷鎭?璇﹁堪浜嗗彂閫佽嚜瀹氫箟娑堟伅鐨勫叿浣撹繃紼嬨?br>銆銆瀹炵幇姝ラ錛?/font>

銆銆絎竴姝ワ細(xì)鍦╒C++涓柊寤哄伐紼婱essage錛屾墍鏈塁lassWizard姝ラ閫夐」鍧囦負(fù)緙虹渷,瀹屾垚銆?br>
銆銆絎簩姝ワ細(xì)鍦ㄤ富鑿滃崟涓坊鍔犳祴璇曡彍鍗曚負(fù)璋冨嚭瀵硅瘽妗嗭紝鍦ㄦ鏋剁被涓緩绔嬬浉搴斿嚱鏁癘nTest()

銆銆絎笁姝ワ細(xì)鍦ㄨ祫婧愪腑寤虹珛瀵硅瘽妗嗭紝閫氳繃ClassWizard娣誨姞鏂扮被TestDialog,娣誨姞嫻嬭瘯鎸夐挳,

銆銆鍦ㄥ璇濇綾諱腑寤虹珛鐩稿簲鍑芥暟OnDialogTest()

//閫氳繃瀵硅瘽妗嗘寜閽彂閫佹秷鎭殑鍑芥暟
void TestDialog::OnDialogTest()
{
CMDIFrameWnd *pFrame;
CMDIChildWnd *pChild;
CView *pView;
//鑾峰彇涓葷獥鍙f寚閽?br>pFrame =(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
// 鑾峰彇瀛愮獥鍙f寚閽?br>pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
//鑾峰彇瑙嗙被鎸囬拡
pView = pChild->GetActiveView();
if(active != NULL)
active->PostMessage(WM_MY_MESSAGE,0,0);//鍙戦佹秷鎭?br>}

銆銆鍦∕essage.h澶存枃浠朵腑娣誨姞濡備笅璇彞錛?br>
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

銆銆絎洓姝?鍦ㄨ綾諱腑娣誨姞鑷畾涔夋秷鎭?

銆銆鍦ㄥご鏂囦歡MessageView.h涓坊鍔犳秷鎭槧灝?br>
protected:
//{{AFX_MSG(CMessageView)
//}}AFX_MSG
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //姝よ涓烘坊鍔犱唬鐮?br>DECLARE_MESSAGE_MAP()
鍦ㄨ綾繪枃浠禡essageView.cpp涓殑娑堟伅鏄犲皠涓坊鍔犺嚜瀹氫箟娑堟伅鏄犲皠
BEGIN_MESSAGE_MAP(CMessageView, CView)
//{{AFX_MSG_MAP(CMessageView)
//}}AFX_MSG_MAP
// Standard printing commands
ON_REGISTERED_MESSAGE(WM_MY_MESSAGE,OnMyMessage) //姝よ娣誨姞浠g爜瀹氫箟鍞竴娑堟伅
END_MESSAGE_MAP()

銆銆娣誨姞鐩稿簲鐨?娑堟伅澶勭悊鍑芥暟

LRESULT CMessageView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
CRect rect;
GetClientRect(&rect);
InvalidateRect(&rect);
test=!test;
return 0;
}

銆銆鍦∕essageView.h涓坊鍔犲竷?yōu)當(dāng)鍙橀?public:BOOL test;

銆銆鍦ㄨ綾繪瀯閫犲嚱鏁頒腑鍒濆鍖?test鍙橀噺:test=FALSE;

銆銆淇敼CMessageView::OnDraw()鍑芥暟

void CMessageView::OnDraw(CDC* pDC)
{
CMessageDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// 浠ヤ笅紼嬪簭鏄劇ず娑堟伅鍝嶅簲鏁堟灉
if(test)
pDC->TextOut(0,0,"娑堟伅鍝嶅簲!");
}

銆銆絎簲姝ワ細(xì)鏄劇ず嫻嬭瘯瀵硅瘽妗?br>
銆銆鍦∕ainFrame綾諱腑鍖呭惈瀵硅瘽妗嗗ご鏂囦歡錛?br>
#include "TestDialog.h";
OnTest()鍑芥暟涓坊鍔犱唬鐮?br>void CMainFrame::OnTest()
{
TestDialog dialog;
dialog.DoModal();
}

銆銆榪愯紼嬪簭,鍦ㄦ祴璇曡彍鍗曟墦寮瀵硅瘽妗?鐐瑰嚮嫻嬭瘯鎸夐挳鍗沖彲鐪嬪埌緇撴灉銆?br>


isabc 2008-03-31 17:10 鍙戣〃璇勮
]]>
嫻呰皥C涓殑malloc鍜宖reehttp://m.shnenglu.com/Lee7/archive/2008/03/22/45133.htmlisabcisabcSat, 22 Mar 2008 13:49:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/03/22/45133.htmlhttp://m.shnenglu.com/Lee7/comments/45133.htmlhttp://m.shnenglu.com/Lee7/archive/2008/03/22/45133.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/45133.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/45133.html鍐欎笅榪欑瘒鏂囩珷浣滀負(fù)涓涓鐭ヨ瘑鐨勬葷粨銆傝繖綃囨枃绔犱箣鎵浠ュ懡鍚嶄腑鏈変釜“嫻呰皥”鐨勫瓧鐪鹼紝涔熷氨鏄繖涓剰鎬濅簡錛佸笇鏈涘澶у鏈変竴鐐瑰府鍔╋紒

     濡傛灉涓嶆壇寰楀お榪滅殑璇濓紙姣斿璇存搷浣滅郴緇熶腑铏氭嫙鍐呭瓨鍜岀墿鐞嗗唴瀛樺浣曡繍鍋氬浣曠鐞嗕箣綾葷殑鐭ヨ瘑絳夛級錛屾垜鎰熻榪欑瘒鏂囩珷搴旇鏄瘮杈冨叏闈㈠湴璋堜簡涓涓媘alloc()鍜宖ree().榪欑瘒鏂囩珷鐢辨祬鍏ユ繁錛堜笉瑙佸緱鏈夊娣憋級鍒嗕笁涓儴鍒嗕粙緇嶄富瑕佸唴瀹廣?/p>

搴熻瘽浜嗛偅涔堝錛屼笅闈㈢珛鍒昏繘鍏ヤ富棰?===============銆嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨嬨?/p>


涓銆乵alloc()鍜宖ree()鐨勫熀鏈蹇典互鍙?qiáng)鍩烘湰鐢ㄦ硶锛?xì)

1銆佸嚱鏁板師鍨嬪強(qiáng)璇存槑錛?/p>

void *malloc(long NumBytes)錛氳鍑芥暟鍒嗛厤浜哊umBytes涓瓧鑺傦紝騫惰繑鍥炰簡鎸囧悜榪欏潡鍐呭瓨鐨勬寚閽堛傚鏋滃垎閰嶅け璐ワ紝鍒欒繑鍥炰竴涓┖鎸囬拡錛圢ULL錛夈?/p>

鍏充簬鍒嗛厤澶辮觸鐨勫師鍥狅紝搴旇鏈夊縐嶏紝姣斿璇寸┖闂翠笉瓚沖氨鏄竴縐嶃?/p>

void free(void *FirstByte)錛?璇ュ嚱鏁版槸灝嗕箣鍓嶇敤malloc鍒嗛厤鐨勭┖闂磋繕緇欑▼搴忔垨鑰呮槸鎿嶄綔緋葷粺錛屼篃灝辨槸閲婃斁浜嗚繖鍧楀唴瀛橈紝璁╁畠閲嶆柊寰楀埌鑷敱銆?/p>

2銆佸嚱鏁扮殑鐢ㄦ硶錛?/p>

     鍏跺疄榪欎袱涓嚱鏁扮敤璧鋒潵鍊掍笉鏄緢闅撅紝涔熷氨鏄痬alloc()涔嬪悗瑙夊緱鐢ㄥ浜嗗氨鐢╀簡瀹冩妸瀹冪粰free()浜嗭紝涓句釜綆鍗曚緥瀛愶細(xì)

紼嬪簭浠g爜錛?/font>
        // Code...
        char *Ptr = NULL;
        Ptr = (char *)malloc(100 * sizeof(char));
        if (NULL == Ptr)
    {
        exit (1);
    }
        gets(Ptr);

        // code...
        free(Ptr);
        Ptr = NULL;
        // code...

    灝辨槸榪欐牱錛佸綋鐒?dòng)灱屽叿浣撴儏鍐佃鍏蜂綋鍒嗘瀽浠ュ強(qiáng)鍏蜂綋瑙e啛雬傛瘮濡傝錛屼綘瀹氫箟浜嗕竴涓寚閽堬紝鍦ㄤ竴涓嚱鏁伴噷鐢寵浜嗕竴鍧楀唴瀛樼劧鍚庨氳繃鍑芥暟榪斿洖浼犻掔粰榪欎釜鎸囬拡錛岄偅涔堜篃璁?dāng)R噴鏀捐繖鍧楀唴瀛樿繖欏瑰伐浣滃氨搴旇鐣欑粰鍏朵粬鍑芥暟浜嗐?/p>

3銆佸叧浜庡嚱鏁頒嬌鐢ㄩ渶瑕佹敞鎰忕殑涓浜涘湴鏂癸細(xì)

A銆佺敵璇蜂簡鍐呭瓨絀洪棿鍚庯紝蹇呴』媯(gè)鏌ユ槸鍚﹀垎閰嶆垚鍔熴?/p>

B銆佸綋涓嶉渶瑕佸啀浣跨敤鐢寵鐨勫唴瀛樻椂錛岃寰楅噴鏀撅紱閲婃斁鍚庡簲璇ユ妸鎸囧悜榪欏潡鍐呭瓨鐨勬寚閽堟寚鍚慛ULL錛岄槻姝㈢▼搴忓悗闈笉灝忓績浣跨敤浜嗗畠銆?/p>

C銆佽繖涓や釜鍑芥暟搴旇鏄厤瀵廣傚鏋滅敵璇峰悗涓嶉噴鏀懼氨鏄唴瀛樻硠闇詫紱濡傛灉鏃犳晠閲婃斁閭e氨鏄粈涔堜篃娌℃湁鍋氥傞噴鏀懼彧鑳戒竴嬈★紝濡傛灉閲婃斁涓ゆ鍙?qiáng)涓啤浠ヤ笂浼?xì)

鍑虹幇閿欒錛堥噴鏀劇┖鎸囬拡渚嬪錛岄噴鏀劇┖鎸囬拡鍏跺疄涔熺瓑浜庡暐涔熸病鍋氾紝鎵浠ラ噴鏀劇┖鎸囬拡閲婃斁澶氬皯嬈¢兘娌℃湁闂錛夈?/p>

D銆佽櫧鐒秏alloc()鍑芥暟鐨勭被鍨嬫槸(void *),浠諱綍綾誨瀷鐨勬寚閽堥兘鍙互杞崲鎴?void *),浣嗘槸鏈濂借繕鏄湪鍓嶉潰榪涜寮哄埗綾誨瀷杞崲錛屽洜涓鴻繖鏍峰彲浠ヨ翰榪囦竴

浜涚紪璇戝櫒鐨勬鏌ャ?/p>

濂戒簡錛佹渶鍩虹鐨勪笢瑗垮ぇ姒傝繖涔堣錛佺幇鍦ㄨ繘鍏ョ浜岄儴鍒嗭細(xì)


浜屻乵alloc()鍒板簳浠庡摢閲屽緱鏉ヤ簡鍐呭瓨絀洪棿錛?/p>

1銆乵alloc()鍒板簳浠庡摢閲屽緱鍒頒簡鍐呭瓨絀洪棿錛熺瓟妗堟槸浠庡爢閲岄潰鑾峰緱絀洪棿銆備篃灝辨槸璇村嚱鏁拌繑鍥炵殑鎸囬拡鏄寚鍚戝爢閲岄潰鐨勪竴鍧楀唴瀛樸傛搷浣滅郴緇熶腑鏈変竴涓褰曠┖ 闂插唴瀛樺湴鍧鐨勯摼琛ㄣ傚綋鎿嶄綔緋葷粺鏀跺埌紼嬪簭鐨勭敵璇鋒椂錛屽氨浼?xì)閬嶅巻璇ラ摼琛ㄥQ岀劧鍚庡氨瀵繪壘絎竴涓┖闂村ぇ浜庢墍鐢寵絀洪棿鐨勫爢緇撶偣錛岀劧鍚庡氨灝嗚緇撶偣浠庣┖闂茬粨鐐歸摼琛ㄤ腑鍒犻櫎錛屽茍 灝嗚緇撶偣鐨勭┖闂村垎閰嶇粰紼嬪簭銆傚氨鏄繖鏍鳳紒

   璇村埌榪欓噷錛屼笉寰椾笉鍙﹀鎻掑叆涓涓皬璇濋錛岀浉淇″ぇ瀹朵篃鐭ラ亾鏄粈涔堣瘽棰樹簡銆備粈涔堟槸鍫嗭紵璇村埌鍫嗭紝鍙堝繊涓嶄綇璇村埌浜嗘爤錛佷粈涔堟槸鏍堬紵涓嬮潰灝卞彟澶栧紑涓皬閮ㄥ垎涓撻棬鑰屽張綆鍗曞湴璇翠竴涓嬭繖涓澶栬瘽錛?/p>

2銆佷粈涔堟槸鍫嗭細(xì)鍫嗘槸澶у鍏辨湁鐨勭┖闂達(dá)紝鍒嗗叏灞鍫嗗拰灞閮ㄥ爢銆傚叏灞鍫嗗氨鏄墍鏈夋病鏈夊垎閰嶇殑絀洪棿錛屽眬閮ㄥ爢灝辨槸鐢ㄦ埛鍒嗛厤鐨勭┖闂淬傚爢鍦ㄦ搷浣滅郴緇熷榪涚▼ 鍒濆鍖栫殑鏃跺欏垎閰嶏紝榪愯榪囩▼涓篃鍙互鍚戠郴緇熻棰濆鐨勫爢錛屼絾鏄寰楃敤瀹屼簡瑕佽繕緇欐搷浣滅郴緇燂紝瑕佷笉鐒跺氨鏄唴瀛樻硠婕忋?/p>

   浠涔堟槸鏍堬細(xì)鏍堟槸綰跨▼鐙湁鐨勶紝淇濆瓨鍏惰繍琛岀姸鎬佸拰灞閮ㄨ嚜鍔ㄥ彉閲忕殑銆傛爤鍦ㄧ嚎紼嬪紑濮嬬殑鏃跺欏垵濮嬪寲錛屾瘡涓嚎紼嬬殑鏍堜簰鐩哥嫭绔嬨傛瘡涓嚱鏁伴兘鏈夎嚜宸辯殑鏍堬紝鏍堣鐢ㄦ潵鍦ㄥ嚱鏁頒箣 闂翠紶閫掑弬鏁般傛搷浣滅郴緇熷湪鍒囨崲綰跨▼鐨勬椂鍊欎細(xì)鑷姩鐨勫垏鎹㈡爤錛屽氨鏄垏鎹S/ESP瀵勫瓨鍣ㄣ傛爤絀洪棿涓嶉渶瑕佸湪楂樼駭璇█閲岄潰鏄懼紡鐨勫垎閰嶅拰閲婃斁銆?

   浠ヤ笂鐨勬蹇墊弿榪版槸鏍囧噯鐨勬弿榪幫紝涓嶈繃鏈変釜鍒鍙ヨ鎴戝垹闄わ紝涓嶇煡閬撳洜涓鴻繖鏍瘋(gè)屽彉寰椾笉鏍囧噯浜哵_^.

   閫氳繃涓婇潰瀵規(guī)蹇電殑鎻忚堪錛屽彲浠ョ煡閬擄細(xì)

   鏍堟槸鐢辯紪璇戝櫒鑷姩鍒嗛厤閲婃斁錛屽瓨鏀懼嚱鏁扮殑鍙傛暟鍊箋佸眬閮ㄥ彉閲忕殑鍊肩瓑銆傛搷浣滄柟寮忕被浼間簬鏁版嵁緇撴瀯涓殑鏍堛?/p>

   鍫嗕竴鑸敱紼嬪簭鍛樺垎閰嶉噴鏀撅紝鑻ヤ笉閲婃斁錛岀▼搴忕粨鏉熸椂鍙兘鐢監(jiān)S鍥炴敹銆傛敞鎰忚繖閲岃鏄彲鑳斤紝騫墮潪涓瀹氥傛墍浠ユ垜鎯沖啀寮鴻皟涓嬈★紝璁板緱瑕侀噴鏀撅紒

娉ㄦ剰瀹冧笌鏁版嵁緇撴瀯涓殑鍫嗘槸涓ゅ洖浜嬶紝鍒嗛厤鏂瑰紡鍊掓槸綾諱技浜庨摼琛ㄣ?br>鎵浠ワ紝涓句釜渚嬪瓙錛屽鏋滀綘鍦ㄥ嚱鏁頒笂闈㈠畾涔変簡涓涓寚閽堝彉閲忥紝鐒跺悗鍦ㄨ繖涓嚱鏁伴噷鐢寵浜嗕竴鍧楀唴瀛樿鎸囬拡鎸囧悜瀹冦傚疄闄呬笂錛岃繖涓寚閽堢殑鍦板潃鏄湪鏍堜笂錛屼絾鏄畠鎵鎸囧悜鐨勫唴瀹瑰嵈鏄湪鍫嗕笂闈㈢殑錛佽繖涓鐐硅娉ㄦ剰錛佹墍浠ワ紝鍐嶆兂鎯籌紝鍦ㄤ竴涓嚱鏁伴噷鐢寵浜嗙┖闂村悗錛屾瘮濡傝涓嬮潰榪欎釜鍑芥暟錛?
紼嬪簭浠g爜錛?/font>
   // code...
       void Function(void)
       {
        char *p = (char *)malloc(100 * sizeof(char));
    }


  
   灝辮繖涓緥瀛愶紝鍗冧竾涓嶈璁や負(fù)鍑芥暟榪斿洖錛屽嚱鏁版墍鍦ㄧ殑鏍堣閿姣佹寚閽堜篃璺熺潃閿姣侊紝鐢寵鐨勫唴瀛樹篃灝變竴鏍瘋窡鐫閿姣佷簡錛佽繖緇濆鏄敊璇殑錛佸洜涓虹敵璇風(fēng)殑鍐呭瓨鍦ㄥ爢涓婏紝鑰屽嚱鏁版墍鍦ㄧ殑鏍堣閿姣佽窡鍫嗗畬鍏ㄦ病鏈夊暐鍏崇郴銆傛墍浠ワ紝榪樻槸閭e彞璇濓細(xì)璁板緱閲婃斁錛?/p>

3銆乫ree()鍒板簳閲婃斁浜嗕粈涔?/p>

   榪欎釜闂姣旇緝綆鍗曪紝鍏跺疄鎴戞槸鎯沖拰絎簩澶ч儴鍒嗙殑棰樼洰鐩稿懠搴旇屽凡錛佸搱鍝堬紒free()閲婃斁鐨勬槸鎸囬拡鎸囧悜鐨勫唴瀛橈紒娉ㄦ剰錛侀噴鏀劇殑鏄唴瀛橈紝涓嶆槸鎸囬拡錛佽繖鐐歸潪甯擱潪甯擱噸 瑕侊紒鎸囬拡鏄竴涓彉閲忥紝鍙湁紼嬪簭緇撴潫鏃舵墠琚攢姣併傞噴鏀句簡鍐呭瓨絀洪棿鍚庯紝鍘熸潵鎸囧悜榪欏潡絀洪棿鐨勬寚閽堣繕鏄瓨鍦紒鍙笉榪囩幇鍦ㄦ寚閽堟寚鍚戠殑鍐呭鐨勫瀮鍦撅紝鏄湭瀹氫箟鐨勶紝鎵浠ヨ 鏄瀮鍦俱傚洜姝わ紝鍓嶉潰鎴戝凡緇忚榪囦簡錛岄噴鏀懼唴瀛樺悗鎶婃寚閽堟寚鍚慛ULL錛岄槻姝㈡寚閽堝湪鍚庨潰涓嶅皬蹇冨張琚В寮曠敤浜嗐傞潪甯擱噸瑕佸晩榪欎竴鐐癸紒

   濂戒簡錛佽繖涓?#8220;棰樺璇?#8221;緇堜簬璇村畬浜嗐傚氨榪欎箞綆鍗曡涓嬈★紝鐭ラ亾涓ぇ姒傚氨鍙互浜嗭紒涓嬮潰灝辮繘鍏ョ涓変釜閮ㄥ垎錛?/p>

涓夈乵alloc()浠ュ強(qiáng)free()鐨勬満鍒訛細(xì)

   榪欎釜閮ㄥ垎鎴戜粖澶╂墠鏈変簡鏂扮殑璁よ瘑錛佽屼笖鏄漿鎶樻х殑璁よ瘑錛佹墍浠ワ紝榪欓儴鍒嗗彲鑳戒細(xì)鏈夋洿澶氫竴浜涜璇嗕笂鐨勯敊璇紒涓嶅鐨勫湴鏂硅澶у甯繖鎸囧嚭錛?/p>

   浜嬪疄涓婏紝浠旂粏鐪嬩竴涓媐ree()鐨勫嚱鏁板師鍨嬶紝涔熻涔熶細(xì)鍙戠幇浼間箮寰堢濂囷紝free()鍑芥暟闈炲父綆鍗曪紝鍙湁涓涓弬鏁幫紝鍙鎶婃寚鍚戠敵璇風(fēng)┖闂寸殑鎸囬拡浼犻?/p>

緇檉ree()涓殑鍙傛暟灝卞彲浠ュ畬鎴愰噴鏀懼伐浣滐紒榪欓噷瑕佽拷韙埌malloc()鐨勭敵璇烽棶棰樹簡銆傜敵璇風(fēng)殑鏃跺欏疄闄呬笂鍗犵敤鐨勫唴瀛樿姣旂敵璇風(fēng)殑澶с傚洜涓鴻秴鍑虹殑絀洪棿鏄敤鏉ヨ褰曞榪欏潡鍐呭瓨鐨勭鐞嗕俊鎭傚厛鐪嬩竴涓嬪湪銆奤NIX鐜楂樼駭緙栫▼銆嬩腑絎竷绔犵殑涓孌佃瘽錛?/p>

   澶у鏁板疄鐜版墍鍒嗛厤鐨勫瓨鍌ㄧ┖闂存瘮鎵瑕佹眰鐨勮紼嶅ぇ涓浜涳紝棰濆鐨勭┖闂寸敤鏉ヨ褰曠鐞嗕俊鎭斺斿垎閰嶅潡鐨勯暱搴︼紝鎸囧悜涓嬩竴涓垎閰嶅潡鐨勬寚閽堢瓑絳夈傝繖灝辨剰鍛崇潃濡傛灉鍐欒繃涓涓凡 鍒嗛厤鍖虹殑灝劇錛屽垯浼?xì)鏀瑰啓鍚庝竴鍧楃殑綆$悊淇℃伅銆傝繖縐嶇被鍨嬬殑閿欒鏄伨闅炬х殑錛屼絾鏄洜涓鴻繖縐嶉敊璇笉浼?xì)寰堝揩灏辨毚闇插嚭鏉ュQ屾墍浠ヤ篃灝卞緢闅懼彂鐜般傚皢鎸囧悜鍒嗛厤鍧楃殑鎸囬拡鍚戝悗縐? 鍔ㄤ篃鍙兘浼?xì)鏀瑰啓鏈潡鐨劷帯鐞嗕俊鎭?/p>

   浠ヤ笂榪欐璇濆凡緇忕粰浜嗘垜浠竴浜涗俊鎭簡銆俶alloc()鐢寵鐨勭┖闂村疄闄呮垜瑙夊緱灝辨槸鍒嗕簡涓や釜涓嶅悓鎬ц川鐨勭┖闂淬備竴涓氨鏄敤鏉ヨ褰曠鐞嗕俊鎭殑絀洪棿錛屽彟澶栦竴涓氨鏄彲鐢ㄧ┖闂翠簡銆傝岀敤鏉ヨ褰曠鐞嗕俊鎭殑瀹為檯涓婃槸涓涓粨鏋勪綋銆傚湪C璇█涓紝鐢ㄧ粨鏋勪綋鏉ヨ褰曞悓涓涓璞$殑涓嶅悓淇℃伅鏄?/p>

澶╃粡鍦頒箟鐨勪簨錛佷笅闈㈢湅鐪嬭繖涓粨鏋勪綋鐨勫師鍨嬶細(xì)

紼嬪簭浠g爜錛?/font>
   struct mem_control_block {
    int is_available;    //榪欐槸涓涓爣璁幫紵
    int size;            //榪欐槸瀹為檯絀洪棿鐨勫ぇ灝?
    };


  
   瀵逛簬size,榪欎釜鏄疄闄呯┖闂村ぇ灝忋傝繖閲屽叾瀹炴垜鏈変釜鐤戦棶錛宨s_available鏄惁鏄竴涓爣璁幫紵鍥犱負(fù)鎴戠湅浜唂ree()鐨勬簮浠g爜涔嬪悗瀵硅繖涓彉閲忔劅瑙夋湁鐐圭撼闂鳳紙婧愪唬鐮佸湪涓嬮潰鍒嗘瀽錛夈傝繖閲岃繕璇峰ぇ瀹舵寚鍑猴紒

   鎵浠ワ紝free()灝辨槸鏍規(guī)嵁榪欎釜緇撴瀯浣撶殑淇℃伅鏉ラ噴鏀緈alloc()鐢寵鐨勭┖闂達(dá)紒鑰岀粨鏋勪綋鐨勪袱涓垚鍛樼殑澶у皬鎴戞兂搴旇鏄搷浣滅郴緇熺殑浜嬩簡銆備絾鏄繖閲屾湁涓涓棶 棰橈紝malloc()鐢寵絀洪棿鍚庤繑鍥炰竴涓寚閽堝簲璇ユ槸鎸囧悜絎簩縐嶇┖闂達(dá)紝涔熷氨鏄彲鐢ㄧ┖闂達(dá)紒涓嶇劧錛屽鏋滄寚鍚戠鐞嗕俊鎭┖闂寸殑璇濓紝鍐欏叆鐨勫唴瀹瑰拰緇撴瀯浣撶殑綾誨瀷鏈夊彲鑳戒笉 涓鑷達(dá)紝鎴栬呬細(xì)鎶婄鐞嗕俊鎭睆钄芥帀錛岄偅灝辨病娉曢噴鏀懼唴瀛樼┖闂翠簡錛屾墍浠ヤ細(xì)鍙戠敓閿欒錛侊紙鎰熻鑷繁榪欓噷璇寸殑鏄簾璇濓級

   濂戒簡錛佷笅闈㈢湅鐪媐ree()鐨勬簮浠g爜錛屾垜鑷繁鍒嗘瀽浜嗕竴涓嬶紝瑙夊緱姣旇搗malloc()鐨勬簮浠g爜鍊掓槸瀹規(guī)槗綆鍗曞緢澶氥傚彧鏄湁涓枒闂紝涓嬮潰鎸囧嚭錛?/p>

紼嬪簭浠g爜錛?/font>
   // code...
   
       void free(void *ptr) 
    {
            struct mem_control_block *free;
            free = ptr - sizeof(struct mem_control_block);
            free->is_available = 1;
            return;
    }

   鐪嬩竴涓嬪嚱鏁扮浜屽彞錛岃繖鍙ラ潪甯擱噸瑕佸拰鍏抽敭銆傚叾瀹炶繖鍙ュ氨鏄妸鎸囧悜鍙敤絀洪棿鐨勬寚閽堝掑洖鍘伙紝璁╁畠鎸囧悜綆$悊淇℃伅鐨勯偅鍧楃┖闂達(dá)紝鍥犱負(fù)榪欓噷鏄湪鍊間笂鍑忓幓浜嗕竴涓粨鏋勪綋鐨勫ぇ 灝忥紒鍚庨潰閭d竴鍙ree->is_available = 1;鎴戞湁鐐圭撼闂鳳紒鎴戠殑鎯蟲硶鏄細(xì)榪欓噷is_available搴旇鍙槸涓涓爣璁拌屽凡錛佸洜涓轟粠榪欎釜鍙橀噺鐨勫悕縐頒笂鏉ョ湅錛宨s_available 緲昏瘧榪囨潵灝辨槸“鏄彲浠ョ敤”銆備笉瑕佽鎴戝湡錛佹垜瑙夊緱鍙橀噺鍚嶅瓧鍙互鍙嶆槧涓涓彉閲忕殑浣滅敤錛岀壒鍒槸涓ヨ皚鐨勪唬鐮併傝繖鏄簮浠g爜錛屾墍浠ユ垜瑙夊緱緇濆鏄弗璋ㄧ殑錛侊紒榪欎釜鍙橀噺鐨勫? 鏄?錛岃〃鏄庢槸鍙互鐢ㄧ殑絀洪棿錛佸彧鏄繖閲屾垜鎯充簡鎯籌紝濡傛灉鎶婂畠鏀逛負(fù)0鎴栬呮槸鍏朵粬鍊間笉鐭ラ亾浼?xì)鍙戠敓浠涔堜簨錛燂紒浣嗘槸鏈変竴鐐規(guī)垜鍙互鑲畾錛屽氨鏄噴鏀劇粷瀵逛笉浼?xì)閭d箞椤哄埄杩涜锛? 鍥犱負(fù)榪欐槸涓涓爣璁幫紒

   褰撶劧錛岃繖閲屽彲鑳借繕鏄湁浜轟細(xì)鏈夌枒闂紝涓轟粈涔堣繖鏍峰氨鍙互閲婃斁鍛紵錛熸垜鍒氭墠涔熸湁榪欎釜鐤戦棶銆傚悗鏉ユ垜鎯沖埌錛岄噴鏀炬槸鎿嶄綔緋葷粺鐨勪簨錛岄偅涔堝氨free()榪欎釜婧愪唬鐮佹潵鐪嬶紝 浠涔堜篃娌℃湁閲婃斁錛屽鍚э紵浣嗘槸瀹冪‘瀹炴槸紜畾浜嗙鐞嗕俊鎭殑閭e潡鍐呭瓨鐨勫唴瀹廣傛墍浠ワ紝free()鍙槸璁板綍浜嗕竴浜涗俊鎭紝鐒跺悗鍛婅瘔鎿嶄綔緋葷粺閭e潡鍐呭瓨鍙互鍘婚噴鏀撅紝鍏蜂綋 鎬庝箞鍛婅瘔鎿嶄綔緋葷粺鐨勬垜涓嶆竻妤氾紝浣嗘垜瑙夊緱榪欎釜宸茬粡瓚呭嚭浜嗘垜榪欑瘒鏂囩珷鐨勮璁鴻寖鍥翠簡銆?/p>

   閭d箞錛屾垜涔嬪墠鏈変釜閿欒鐨勮璇嗭紝灝辨槸璁や負(fù)鎸囧悜閭e潡鍐呭瓨鐨勬寚閽堜笉綆$Щ鍒伴偅鍧楀唴瀛樹腑鐨勫摢涓綅緗兘鍙互閲婃斁閭e潡鍐呭瓨錛佷絾鏄紝榪欐槸澶ч敊鐗歸敊錛侀噴鏀炬槸涓嶅彲浠ラ噴鏀句竴閮ㄥ垎 鐨勶紒棣栧厛榪欑偣搴旇瑕佹槑鐧姐傝屼笖錛屼粠free()鐨勬簮浠g爜鐪嬶紝ptr鍙兘鎸囧悜鍙敤絀洪棿鐨勯鍦板潃錛屼笉鐒?dòng)灱屽噺鍘痪l撴瀯浣撳ぇ灝忎箣鍚庝竴瀹氫笉鏄寚鍚戠鐞嗕俊鎭┖闂寸殑棣栧湴 鍧銆傛墍浠ワ紝瑕佺‘淇濇寚閽堟寚鍚戝彲鐢ㄧ┖闂寸殑棣栧湴鍧錛佷笉淇″悧錛熻嚜宸卞彲浠ュ啓涓涓▼搴忕劧鍚庣Щ鍔ㄦ寚鍚戝彲鐢ㄧ┖闂寸殑鎸囬拡錛岀湅紼嬪簭浼?xì)鏈変細(xì)宕╁Q?/p>

   鏈鍚庡彲鑳芥兂鍒癿alloc()鐨勬簮浠g爜鐪嬬湅malloc()鍒板簳鏄庝箞鍒嗛厤絀洪棿鐨勶紝榪欓噷闈㈡秹鍙?qiáng)鍒板緢澶氬叾浠栨枤w潰鐨勭煡璇嗭紒鏈夊叴瓚g殑鏈嬪弸鍙互鑷繁鍘諱笅杞芥簮
浠g爜鍘葷湅鐪嬨?/p>


鍥涖佸叧浜庡叾浠栵細(xì)

    鍏充簬C涓殑malloc()鍜宖ree()鐨勮璁哄氨鍐欏埌榪欓噷鍚э紒鍐欎簡涓変釜閽熷ご錛屾劅瑙夋湁鐐圭瘡錛佸笇鏈涘澶у鏈夋墍甯姪錛佹湁涓嶅鐨勫湴鏂規(guī)榪庡ぇ瀹舵寚鍑?br>

isabc 2008-03-22 21:49 鍙戣〃璇勮
]]>
mfc妗嗘灦緇撳悎sdk鐨勫涔?fàn)绗旇?涓) [杞琞http://m.shnenglu.com/Lee7/archive/2008/02/20/43014.htmlisabcisabcWed, 20 Feb 2008 14:47:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/02/20/43014.htmlhttp://m.shnenglu.com/Lee7/comments/43014.htmlhttp://m.shnenglu.com/Lee7/archive/2008/02/20/43014.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/43014.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/43014.html闃呰鍏ㄦ枃

isabc 2008-02-20 22:47 鍙戣〃璇勮
]]>
C/C++涓洖璋冨嚱鏁板垵鎺?/title><link>http://m.shnenglu.com/Lee7/archive/2008/02/18/42908.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Mon, 18 Feb 2008 12:35:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2008/02/18/42908.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/42908.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2008/02/18/42908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/42908.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/42908.html</trackback:ping><description><![CDATA[     鎽樿: 瀵逛簬寰堝鍒濆鑰呮潵璇達(dá)紝寰寰瑙夊緱鍥炶皟鍑芥暟寰堢縐橈紝寰堟兂鐭ラ亾鍥炶皟鍑芥暟鐨勫伐浣滃師鐞嗐傛湰鏂囧皢瑕佽В閲婁粈涔堟槸鍥炶皟鍑芥暟銆佸畠浠湁浠涔堝ソ澶勩佷負(fù)浠涔堣浣跨敤瀹冧滑絳夌瓑闂錛屽湪寮濮嬩箣鍓嶏紝鍋囪浣犲凡緇忕啛鐭ヤ簡鍑芥暟鎸囬拡  <a href='http://m.shnenglu.com/Lee7/archive/2008/02/18/42908.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/Lee7/aggbug/42908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2008-02-18 20:35 <a href="http://m.shnenglu.com/Lee7/archive/2008/02/18/42908.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>IP鍦板潃杞崲鍑芥暟錛?/title><link>http://m.shnenglu.com/Lee7/archive/2008/01/28/42027.html</link><dc:creator>isabc</dc:creator><author>isabc</author><pubDate>Mon, 28 Jan 2008 06:32:00 GMT</pubDate><guid>http://m.shnenglu.com/Lee7/archive/2008/01/28/42027.html</guid><wfw:comment>http://m.shnenglu.com/Lee7/comments/42027.html</wfw:comment><comments>http://m.shnenglu.com/Lee7/archive/2008/01/28/42027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Lee7/comments/commentRss/42027.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Lee7/services/trackbacks/42027.html</trackback:ping><description><![CDATA[  <p style="FONT-SIZE: 14pt"><font size=6>IP鍦板潃杞崲鍑芥暟錛?/font></p> <font size=+2> <blockquote> <p style="FONT-SIZE: 14pt">unsigned long inet_addr (const char *cp);</p> <blockquote> <p style="FONT-SIZE: 14pt">inet_addr灝嗕竴涓偣鍒嗗崄榪涘埗IP鍦板潃瀛楃涓茶漿鎹㈡垚32浣嶆暟瀛楄〃紺虹殑IP鍦板潃錛堢綉緇滃瓧鑺傞『搴忥級銆?/p> </blockquote> <p style="FONT-SIZE: 14pt">   </p> <p style="FONT-SIZE: 14pt">char* inet_ntoa (struct in_addr in);</p> <blockquote> <p style="FONT-SIZE: 14pt">inet_ntoa灝嗕竴涓?2浣嶆暟瀛楄〃紺虹殑IP鍦板潃杞崲鎴愮偣鍒嗗崄榪涘埗IP鍦板潃瀛楃涓層?/p> </blockquote> <p style="FONT-SIZE: 14pt">銆</p> <p style="FONT-SIZE: 14pt">榪欎袱涓嚱鏁頒簰涓哄弽鍑芥暟</p> </blockquote></font> <p style="FONT-SIZE: 14pt">   </p> <p style="FONT-SIZE: 14pt">銆</p> <p style="FONT-SIZE: 14pt"><font size=6>瀛楄妭欏哄簭杞崲</font></p> <font size=+2> <blockquote> <p style="FONT-SIZE: 14pt">htons()--"Host to Network Short"</p> <p style="FONT-SIZE: 14pt">htonl()--"Host to Network Long"</p> <p style="FONT-SIZE: 14pt">ntohs()--"Network to Host Short"</p> <p style="FONT-SIZE: 14pt">ntohl()--"Network to Host Long"</p> *娉ㄦ剰:鍦ㄤ綘鐨勬暟鎹斁鍒扮綉緇滀笂鐨勬椂鍊欙紝紜俊瀹冩槸緗戠粶瀛楄妭欏哄簭<br>緗戠粶瀛楄妭欏哄簭(澶х瀛楄妭)鍜寈86鏈哄櫒瀛楄妭欏哄簭(灝忕瀛楄妭)<br>eg:0X3132  鍦▁86涓婃樉紺?1  鍦ㄧ綉緇滀紶杈撲腑涓?2<br></blockquote></font> <img src ="http://m.shnenglu.com/Lee7/aggbug/42027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Lee7/" target="_blank">isabc</a> 2008-01-28 14:32 <a href="http://m.shnenglu.com/Lee7/archive/2008/01/28/42027.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++涓殑閿欒澶勭悊http://m.shnenglu.com/Lee7/archive/2008/01/26/41932.htmlisabcisabcSat, 26 Jan 2008 03:31:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/01/26/41932.htmlhttp://m.shnenglu.com/Lee7/comments/41932.htmlhttp://m.shnenglu.com/Lee7/archive/2008/01/26/41932.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/41932.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/41932.html闃呰鍏ㄦ枃

isabc 2008-01-26 11:31 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              欧美精品在线视频观看| 欧美区亚洲区| 亚洲小少妇裸体bbw| 欧美一区二区三区电影在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| 一区二区高清在线| 欧美日韩一二区| 亚洲免费在线播放| 亚洲精品乱码久久久久久日本蜜臀 | 欧美日韩国产成人在线观看| 国产日韩精品在线| 久久久国产91| 久久精品免费看| 136国产福利精品导航| 老色批av在线精品| 国产精品久久久久久久久久尿| 亚洲性视频网站| 欧美1区3d| 免费人成精品欧美精品| 国产日韩在线看片| 欧美成人黑人xx视频免费观看| 欧美一区二区成人6969| 黄色亚洲免费| 久久久久久久97| 国产精品你懂得| 久久xxxx精品视频| 黄色成人小视频| 在线视频免费在线观看一区二区| 国产精品久久午夜夜伦鲁鲁| 理论片一区二区在线| 欧美日韩免费看| 久久嫩草精品久久久久| 亚洲老司机av| 国产亚洲精品高潮| 亚洲尤物精选| 欧美色中文字幕| 久久免费国产精品| 老妇喷水一区二区三区| 欧美大片一区| 久久久夜精品| 欧美日韩国产免费观看| 亚洲第一区色| 欧美韩日高清| 国产性做久久久久久| 亚洲欧美日韩国产成人| 99精品久久免费看蜜臀剧情介绍| 久久久激情视频| 猫咪成人在线观看| 国产精品毛片a∨一区二区三区|国| 国际精品欧美精品| 亚洲欧美日韩一区二区| 欧美精品啪啪| 亚洲精品一区二区三区婷婷月| 国产免费观看久久| 亚洲免费黄色| 狠狠色狠狠色综合日日91app| 99这里只有久久精品视频| 久久人人爽爽爽人久久久| 日韩午夜在线电影| 欧美黄色片免费观看| 午夜精品视频在线| 国产一区二区无遮挡| 国产日韩视频一区二区三区| 欧美一区二区三区免费观看| 欧美高潮视频| 久久国产乱子精品免费女 | 99在线精品视频在线观看| 日韩一区二区精品视频| 国产欧美日韩综合一区在线播放 | 欧美电影资源| 久久国产精品黑丝| 午夜精品视频| 国产日韩欧美视频| 亚洲性感激情| 亚洲激情视频在线播放| 在线看日韩欧美| 亚洲精品资源| 亚洲高清视频一区二区| 国产伦精品一区| 亚洲国产成人tv| 久久琪琪电影院| 久久亚洲私人国产精品va| 亚洲人成网站在线观看播放| 亚洲午夜在线| 亚洲调教视频在线观看| 午夜欧美不卡精品aaaaa| 国语自产偷拍精品视频偷| 亚洲成色最大综合在线| 久久久久久一区二区三区| 久久精品二区| 亚洲国产高清自拍| 亚洲美女色禁图| 日韩视频免费在线观看| 久久久久久久久伊人| 欧美三级资源在线| 洋洋av久久久久久久一区| 亚洲无吗在线| 亚洲毛片在线看| 亚洲欧美成人| 美女国内精品自产拍在线播放| 亚洲欧美制服中文字幕| 欧美日韩一区二区在线观看视频| 亚洲一区影音先锋| 亚洲毛片在线观看.| 国产亚洲va综合人人澡精品| 亚洲欧美视频在线观看视频| 亚洲视频国产视频| 在线看不卡av| 亚洲精品视频在线| 香蕉久久夜色精品| 欧美交受高潮1| 久久精品成人一区二区三区| 亚洲一区二区动漫| 国产精品久久一卡二卡| 免播放器亚洲| 亚洲女人av| 久久亚洲精品欧美| 欧美国产三级| 国产精品成人观看视频免费| 亚洲精品久久7777| 国产农村妇女毛片精品久久莱园子| 亚洲在线一区| 亚洲影院高清在线| 国产乱码精品一区二区三区不卡 | 久久久久久久久久看片| 夜夜嗨av一区二区三区网站四季av| 欧美一激情一区二区三区| 午夜精品在线观看| 欧美成人精品一区二区三区| 亚洲高清成人| 亚洲理伦电影| 亚洲日韩欧美一区二区在线| 国产精品麻豆成人av电影艾秋| 国产一区二区在线观看免费| 欧美一区二区久久久| 亚洲一区二区三区欧美| 国产精品日韩精品欧美在线| 一区二区三区久久久| av成人天堂| 韩曰欧美视频免费观看| 美女久久一区| 欧美日本国产| 国产精品毛片高清在线完整版| 久久精品免费电影| 欧美在线|欧美| 午夜亚洲影视| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品美女久久久久久久| 国产字幕视频一区二区| 免费看黄裸体一级大秀欧美| 亚洲无亚洲人成网站77777 | 欧美午夜精品久久久久久孕妇| 91久久国产综合久久| 亚洲欧美日韩国产| 日韩亚洲一区二区| 久久久久国产精品一区三寸| 亚洲一区二区欧美日韩| 久久久久久久999| 久久成人精品视频| 欧美日韩伦理在线| 亚洲国产欧美不卡在线观看| 国产精品男女猛烈高潮激情| 亚洲高清av| 影音先锋欧美精品| 午夜国产欧美理论在线播放| 亚洲中字在线| 国产精品久久久久毛片软件 | 亚洲精品久久久久久一区二区| 狠狠88综合久久久久综合网| 亚洲欧美日韩另类精品一区二区三区| 亚洲一区二区三区777| 国产伦理一区| 欧美一区二区三区男人的天堂| 性xx色xx综合久久久xx| 亚洲精品国产拍免费91在线| 伊人天天综合| 欧美私人啪啪vps| 久久精品99| 亚洲免费高清| 久久性色av| 亚洲五月六月| 在线精品国精品国产尤物884a| 欧美高清在线| 欧美一区2区视频在线观看| 欧美成人嫩草网站| 欧美一级淫片播放口| 日韩视频在线一区二区三区| 国产精品成人一区二区艾草| 午夜伦欧美伦电影理论片| 亚洲区国产区| 欧美顶级艳妇交换群宴| 久久精品动漫| 在线亚洲精品| 亚洲欧洲中文日韩久久av乱码| 国产精品一区=区| 欧美午夜宅男影院| 欧美波霸影院| 麻豆亚洲精品| 欧美777四色影视在线| 久久久久亚洲综合|