锘??xml version="1.0" encoding="utf-8" standalone="yes"?>合区精品久久久中文字幕一区,久久久久九国产精品,青青草国产成人久久91网http://www.shnenglu.com/zgysx/category/2789.html鎶掑啓蹇箰蹇冩儏zh-cnMon, 21 Jan 2013 13:12:34 GMTMon, 21 Jan 2013 13:12:34 GMT60娓告垙涓唴瀛樻硠婕忕殑鏌ユ壘http://www.shnenglu.com/zgysx/archive/2013/01/19/197413.htmlwarriorwarriorSat, 19 Jan 2013 08:04:00 GMThttp://www.shnenglu.com/zgysx/archive/2013/01/19/197413.htmlhttp://www.shnenglu.com/zgysx/comments/197413.htmlhttp://www.shnenglu.com/zgysx/archive/2013/01/19/197413.html#Feedback1http://www.shnenglu.com/zgysx/comments/commentRss/197413.htmlhttp://www.shnenglu.com/zgysx/services/trackbacks/197413.html

     鎴戜滑鐨勮繖嬈炬父鎴忎粠寮鍙戝埌涓婄嚎鑷充粖宸叉湁澶ф4騫翠簡錛屾槰澶╁彂鐜頒唬鐮佷腑鏈塶ew鍑烘潵鐨勫璞℃病鏈塪elete錛岀▼搴忛鍑哄悗VS杈撳嚭鏍忎腑灞呯劧娌℃湁鎻愮ず錛岄毦閬撶▼搴忎腑娌℃湁鍐呭瓨娉勬紡媯瀵燂紵榪涗竴姝ョ殑姹傝瘉紜畾浜嗘垜鐨勬媴蹇э紙鎴戞槸鍗婅礬榪涚殑欏圭洰緇勶級銆傚湪浠g爜涓姞涓奯CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF)鍚庯紝VS鐨勮緭鍑烘爮璧劧鏄劇ず浜嗗ぇ閲忕殑鍐呭瓨娉勬紡銆傚湪鍔ㄦ墜瑙e喅鍐呭瓨娉勬紡涔嬪墠錛屽厛澶嶄範涓涓嬫湁鍏硁ew鎿嶄綔絎﹂噸杞界殑鐩稿叧鐭ヨ瘑錛?/p>

new 鎿嶄綔絎︽寜鍏跺彲瑙佹у彲鍒嗕負鍏ㄥ眬鐨勪笌灞閮ㄧ殑(綾繪垚鍛?錛屾垜浠彲浠ュ浠栦滑榪涜閲嶈澆錛屼笅闈㈡槸VS 2010涓璶ew.cpp涓璶ew鎿嶄綔絎︾殑澹版槑

1 void * operator new( size_t size );     //1
2 void * operator new ( size_t size, int nBlockUse, const char * szFileName, int nLine ); //2


void main()
{
   
char * p = new char;    //璋冪敤絎?涓猲ew
   p = new ( _NORMAL_BLOCK, __FILE__, __LINE__ ) char;  //璋冪敤絎?涓猲ew
}

璋冪敤new鏃訛紝浼犲叆鐨勫弬鏁版瘮new澹版槑鏃剁殑鍙傛暟灝戜簡涓涓紝鍗崇涓涓弬鏁幫紝璇ュ弬鏁版槸new鐨勫璞$殑澶у皬錛岀敱緙栬瘧鍣ㄥ~鍐欙紝紱佹紼嬪簭鍛樿嚜宸辨彃鎵嬨?/p>

 

瀵逛竴涓被閲嶈澆new鍜宒elete

class Student
{
    
void * operator new( size_t size )  //3
    {
         std::cout 
<< __FUNCTION__ << std::endl;
         
return malloc( sizeof(Student) );
    }
};
Student * pS = new Student();    //璋冪敤Student綾誨唴閮ㄧ殑new錛屽嵆絎?涓猲ew

 

褰撴垜浠琻ew涓涓嚜瀹氫箟綾繪椂錛屽鏋滆綾婚噸杞戒簡new鎿嶄綔絎︼紝鍒欎紭鍏堜嬌鐢ㄨ綾誨唴閮ㄥ畾涔夌殑new錛屽鏋滆繖鏃墮潪瑕佽皟鐢ㄥ叏灞鐨刵ew鎿嶄綔絎︽庝箞鍔炲憿錛熷彲浠ュ湪new鍓嶉潰鍔犱袱涓啋鍙?

pS = ::new Student();  //璋冪敤鍏ㄥ眬鐨刵ew錛岀1涓猲ew

 

涓嬮潰鍥炲埌瑙e喅鍐呭瓨娉勬紡鐨勬楠や笂錛?/p>

1 鍦ㄧ▼搴忓繀瀹氫細鎵ц鐨勮礬寰勪笂鍔犱笂錛?/p>

_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);

涓嶄竴瀹氶潪寰楁槸紼嬪簭鐨勬渶寮濮嬪

2 浣跨敤涓婇潰緇欏嚭鐨勭2涓猲ew鎿嶄綔絎︼紝褰撶▼搴忛鍑烘椂錛屽畠浼氬湪VS杈撳嚭鏍忎腑娉ㄦ槑鏄摢琛屼唬鐮佸紩璧風殑鍐呭瓨娉勬紡銆傚嵆鎵鏈夌殑new 閮芥敼涓?/p>

new ( _NORMAL_BLOCK, __FILE__, __LINE__ )

 

瀹屼簡銆傘傘傘傘傝繖鏍峰氨鍙互浜嗐?br />

浣嗘槸錛屾垜浠▼搴忓凡鏈夌殑浠g爜閮藉啓鐨勬槸new錛岃屼笉鏄痭ew ( _NORMAL_BLOCK, __FILE__, __LINE__ )銆?/p>


MFC涓殑瑙e喅鏂規(guī)硶錛?/p>

#define new  new ( _NORMAL_BLOCK, __FILE__, __LINE__ )

榪欐牱濂藉儚鏄彲浠ヨВ鍐抽棶棰橈紝浣嗘槸鎴戜滑娓告垙涓敤浜咷amebryo娓告垙寮曟搸錛岃繖涓紩鎿庝腑寰堝綾誨唴閮ㄩ噸杞戒簡new鎿嶄綔絎︼紝騫朵笖榪樻湁濡備笅鐨勫畯瀹氫箟錛?/p>

#define NiNew new( NI_MEMHINT_NONE, __FILE__, __LINE__ , __FUNCTION__ )

騫朵笖寮曟搸鑷甫鐨勫璞¢兘鏄氳繃NiNew鏉ュ垱寤虹殑錛屽 NiNew NiAlphaProperty();

濡傛灉鎴戜滑鎶妌ew 瀹忓畾涔夋垚浜唍ew ( _NORMAL_BLOCK, __FILE__, __LINE__ )錛岄偅涔堢鍒癗iNew NiAlphaProperty()鍚庯紝浠g爜灝辮灞曞紑鎴愪負

new ( _NORMAL_BLOCK, __FILE__, __LINE__ )  ( NI_MEMHINT_NONE, __FILE__, __LINE__ , __FUNCTION__ ) NiAlphaProperty(); 褰撶紪璇戝櫒灝濊瘯鐫鐢ㄦ浠g爜涓嶯iAlphaProperty綾誨唴閮ㄥ畾涔夌殑new鎿嶄綔絎﹀幓鍖歸厤鏃跺氨鎶撶瀻浜嗭紝鍙兘鎶ラ敊銆?/p>

鐩墠灝卞彧鑳借嚜宸卞啀瀹氫箟涓涓畯:

#define New   ::new ( _NORMAL_BLOCK, __FILE__, __LINE__ )

灝嗕唬鐮佷腑鎵鏈夌殑new鏇挎崲鎴怤ew銆?br />
鍙︿竴縐嶅唴瀛樻硠婕忔嫻嬫柟娉曞氨鏄熺敤絎?鏂圭殑搴?/strong>:
Visual Leak Detector 鏄竴涓笉閿欑殑娉勬紡媯嫻嬪簱錛屼笅杞藉湴鍧錛?br />http://vld.codeplex.com/releases/view/82311
鍙渶瑕佸湪鑷繁鐨勭▼搴忕殑main鍑芥暟鎵鍦ㄧ殑鏂囦歡涓?include <vld.h>灝卞彲浠ヤ簡錛屼嬌鐢ㄨ搗鏉ュ緢鏂逛究銆?/p>

(娉? _CrtSetBreakAlloc()瀵瑰ぇ鍨嬬殑C++宸ョ▼涓嶅お瀹炵敤 )



warrior 2013-01-19 16:04 鍙戣〃璇勮
]]>
鍏充簬fscanf璇誨彇鏂囦歡鐨勯棶棰?/title><link>http://www.shnenglu.com/zgysx/archive/2008/07/28/57354.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Mon, 28 Jul 2008 07:29:00 GMT</pubDate><guid>http://www.shnenglu.com/zgysx/archive/2008/07/28/57354.html</guid><wfw:comment>http://www.shnenglu.com/zgysx/comments/57354.html</wfw:comment><comments>http://www.shnenglu.com/zgysx/archive/2008/07/28/57354.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zgysx/comments/commentRss/57354.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zgysx/services/trackbacks/57354.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">姣斿璇誨彇浠ヤ互涓嬫牸寮忓瓨鏀懼湪鏂囦歡涓殑瀛楃涓?鍙噰鐢╢scanf<br><br></span><span style="color: #000000;">1000</span><span style="color: #000000;">,灝忔槑,鍥㈠憳,婀栧寳姝︽槍XXXX<br></span><span style="color: #000000;">1001</span><span style="color: #000000;">,寮犲崕,鍏氬憳,婀栧寳瀹滄槍XXXX<br><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif">.<br><br><br>FILE </span><span style="color: #000000;">*</span><span style="color: #000000;"> fp </span><span style="color: #000000;">=</span><span style="color: #000000;"> fopen( pszFilePath, </span><span style="color: #000000;">"</span><span style="color: #000000;">r</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> n </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">while</span><span style="color: #000000;">( n </span><span style="color: #000000;">></span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;"> </span><span style="color: #000000;">&&</span><span style="color: #000000;"> </span><span style="color: #000000;">!</span><span style="color: #000000;">feof( fp ) )<br>{<br>    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> nID;<br>    </span><span style="color: #0000ff;">char</span><span style="color: #000000;"> szName[</span><span style="color: #000000;">100</span><span style="color: #000000;">] </span><span style="color: #000000;">=</span><span style="color: #000000;"> {</span><span style="color: #000000;">0</span><span style="color: #000000;">};<br>    </span><span style="color: #0000ff;">char</span><span style="color: #000000;"> szBelong[</span><span style="color: #000000;">100</span><span style="color: #000000;">] </span><span style="color: #000000;">=</span><span style="color: #000000;"> {</span><span style="color: #000000;">0</span><span style="color: #000000;">};<br>    </span><span style="color: #0000ff;">char</span><span style="color: #000000;"> szAddress[</span><span style="color: #000000;">300</span><span style="color: #000000;">]  </span><span style="color: #000000;">=</span><span style="color: #000000;"> {</span><span style="color: #000000;">0</span><span style="color: #000000;">};<br>    n </span><span style="color: #000000;">=</span><span style="color: #000000;"> fscanf( fp, </span><span style="color: #000000;">"</span><span style="color: #000000;">%d,%[^','],%[^','],%s\r\n</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">&</span><span style="color: #000000;">nID, szName, szBelong, szAddress);<br></span><span style="color: #008000;">//</span><span style="color: #008000;"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif"><img src="http://www.shnenglu.com/Images/dot.gif">.</span><span style="color: #008000;"><br></span><span style="color: #000000;">}</span></div> <br><br><img src ="http://www.shnenglu.com/zgysx/aggbug/57354.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zgysx/" target="_blank">warrior</a> 2008-07-28 15:29 <a href="http://www.shnenglu.com/zgysx/archive/2008/07/28/57354.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞琞C++鍙嶆眹緙栨彮縐? 涓涓畝鍗曠殑C++紼嬪簭鍙嶆眹緙栬В鏋?/title><link>http://www.shnenglu.com/zgysx/archive/2008/07/17/56382.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Thu, 17 Jul 2008 02:15:00 GMT</pubDate><guid>http://www.shnenglu.com/zgysx/archive/2008/07/17/56382.html</guid><wfw:comment>http://www.shnenglu.com/zgysx/comments/56382.html</wfw:comment><comments>http://www.shnenglu.com/zgysx/archive/2008/07/17/56382.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/zgysx/comments/commentRss/56382.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zgysx/services/trackbacks/56382.html</trackback:ping><description><![CDATA[<p>鏈郴鍒椾富瑕佷粠姹囩紪瑙掑害鐮旂┒C++璇█鏈哄埗鍜屾眹緙栫殑瀵瑰簲鍏崇郴銆傜涓綃囪嚜鐒跺簲璇ヤ粠鏈綆鍗曠殑寮濮嬨侰++鐨勬簮浠g爜濡備笅錛?/p> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt">class my_class</div> <div style="MARGIN-BOTTOM: 0pt">{</div> <div style="MARGIN-BOTTOM: 0pt">public :</div> <div style="MARGIN-BOTTOM: 0pt"><span>    my_class()</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>    {</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>        m_member = 1;</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>    }</span></div> <div style="MARGIN-BOTTOM: 0pt"> </div> <div style="MARGIN-BOTTOM: 0pt"><span>    void method(int n)</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>    {</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>        m_member = n;</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>    }</span></div> <div style="MARGIN-BOTTOM: 0pt"> </div> <div style="MARGIN-BOTTOM: 0pt"><span>    ~my_class()</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>    {</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>        m_member = 0;</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>    }</span></div> <div style="MARGIN-BOTTOM: 0pt"> </div> <div style="MARGIN-BOTTOM: 0pt">private :</div> <div style="MARGIN-BOTTOM: 0pt"><span>    int m_member;</span></div> <div style="MARGIN-BOTTOM: 0pt">};</div> <div style="MARGIN-BOTTOM: 0pt"> </div> <div style="MARGIN-BOTTOM: 0pt">int _tmain(int argc, _TCHAR* argv[])</div> <div style="MARGIN-BOTTOM: 0pt">{</div> <div style="MARGIN-BOTTOM: 0pt"><span>    my_class a_class;</span></div> <div style="MARGIN-BOTTOM: 0pt"><span>    a_class.method(10);</span></div> <div style="MARGIN-BOTTOM: 0pt"> </div> <div style="MARGIN-BOTTOM: 0pt"><span>    return 0;</span></div> <div style="MARGIN-BOTTOM: 0pt">}</div> </td> </tr> </tbody> </table> </p> <div> </div> <div>鍙互鐩存帴Debug鐨勬椂鍊欑湅鍒癆ssembly浠g爜錛屼笉榪囪繖鏍瘋幏寰楃殑浠g爜娉ㄩ噴姣旇緝?yōu)畱銆傛瘮杈冪悊鎯崇殑鏂規(guī)硶鏄埄鐢╒C緙栬瘧鍣ㄧ殑涓涓夐」/FAs鏉ョ敓鎴愬搴旂殑姹囩紪浠g爜銆?FAs榪樹細鍦ㄦ眹緙栦唬鐮佷腑鍔犲叆娉ㄩ噴娉ㄦ槑鍜孋++浠g爜鐨勫搴斿叧緋伙紝鍗佸垎鏈夊姪浜庡垎鏋愩侭uild浠g爜渚垮彲浠ュ湪杈撳嚭鐩綍涓嬪彂鐜板搴旂殑.ASM鏂囦歡銆傛湰鏂囧皢閫愬彞鍒嗘瀽姹囩紪浠g爜鍜孋++鐨勫搴斿叧緋匯?/div> <div>棣栧厛鏄疻inMain錛?/div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">_TEXT<span> SEGMENT</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">_wmain<span>      PROC</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push ebp                                 ; </span>淇濆瓨鏃х殑ebp</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   ebp, esp                            ; ebp</span>淇濆瓨褰撳墠鏍堢殑浣嶇疆</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push -1                                  ; </span>寤虹珛SEH(Structured Exception Handler)閾?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>                                                ; -1</span>琛ㄧず琛ㄥご,娌℃湁Prev</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push __ehhandler$_wmain                  ; SEH</span>寮傚父澶勭悊紼嬪簭鐨勫湴鍧</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   eax, DWORD PTR fs:0                 ; fs:0</span>鎸囧悜TEB鐨勫唴瀹癸紝澶?涓瓧鑺傛槸褰撳墠SEH閾劇殑鍦板潃</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push eax                                 ; </span>淇濆瓨璧鋒潵</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      sub   esp, d8H                            ; </span>鍒嗛厤d8H瀛楄妭鐨勭┖闂?/font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ebx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      lea   edi, DWORD PTR [ebp-e4H]            ; e4H = d8H + 4 * 3</span>錛岃煩榪囦腑闂磂bx, esi, edi</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   ecx, 36H                            ; 36H*4H=d8H</span>錛屼篃灝辨槸鐢?6H涓猚cccccccH濉弧鍒氭墠鍒嗛厤鐨刣8H瀛楄妭絀洪棿</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   eax, ccccccccH</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      rep stosd</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   eax, DWORD PTR ___security_cookie   </font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      xor   eax, ebp                 </font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push eax                                 ; ebp ^ __security_cookie</span>鍘嬫爤淇濆瓨</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      lea   eax, DWORD PTR [ebp-0cH]            ; ebp-0cH</span>鏄柊鐨凷EH閾劇殑緇撴瀯鍦板潃錛堝垰鍘嬪叆鏍堜腑鐨勬爤鍦板潃錛?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   DWORD PTR fs:0, eax                 ; </span>璁劇疆鍒癟EB涓綔涓哄綋鍓岮ctive鐨凷EH閾捐〃鏈熬</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> </td> </tr> </tbody> </table> </p> <div> </div> <div>鍒版涓烘鏍堢殑鍐呭鏄繖鏍風殑錛?/div> <div>浣庡湴鍧</div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">Security cookie after XOR</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">Edi</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">Esi</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">Ebx</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">Local stack: d8H</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">Old fs:0</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">__ehhandler$_wmain</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">ffffffffH</div> </td> </tr> <tr> <td style="BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: 1pt solid; WIDTH: 161.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: 1pt solid" vAlign=top width=215> <div style="MARGIN-BOTTOM: 0pt">Old ebp</div> </td> </tr> </tbody> </table> </p> <div> 楂樺湴鍧</div> <div>main鎺ョ潃鍚庨潰璋冪敤my_class鐨勬瀯閫犲嚱鏁?/div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><span>      <font face="Courier New">lea   ecx, DWORD PTR [ebp-14H]</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>   call ??0my_class@@QAE@XZ                 ; </span>璋冪敤my_class::my_class, ??my_class@@QAE@XZ鏄粡榪嘚ame Mangling鍚庣殑鍚嶅瓧</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>   mov   DWORD PTR [ebp-4], 0                ; </span>榪涘叆__try鍧楋紝鍦∕ain涓湁涓涓殣寮忕殑__try/__except鍧?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> </td> </tr> </tbody> </table> </p> <div> </div> <div>鎺ョ潃璋冪敤my_class::method</div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push 10                                  ; </span>鍙傛暟鍏ユ爤</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      lea   ecx, DWORD PTR [ebp-14H]            ; </span>閬靛驚thiscall璋冪敤鍗忓畾錛宔cx瀛樻斁鐨勬槸this鎸囬拡</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      call ?method@my_class@@QAEXH@Z           ; </span>璋冪敤瀛愮▼搴弇y_class:method(10)</font></div> </td> </tr> </tbody> </table> </p> <div> </div> <div>涔嬪悗鏄瀽鏋勶細</div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   DWORD PTR [ebp-e0H], 0             ; </span>鐢ㄦ潵鏀劇疆榪斿洖鍊?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   DWORD PTR [ebp-4], -1               ; </span>鏍囪TRY鐨勬甯哥粨鏉?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      lea   ecx, DWORD PTR [ebp-14H]            ; a_class</span>鐨勫湴鍧浣滀負this瀛樺叆ECX</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      call ??1my_class@@QAE@XZ                 ; my_class::~my_class</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   eax, DWORD PTR [ebp-e0H]            ; </span>榪斿洖鍊兼寜鐓х害瀹氭斁鍏ax涓?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> </td> </tr> </tbody> </table> </p> <div> </div> <div>Main鍑芥暟閫鍑轟唬鐮佸涓嬶細</div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push edx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   ecx, ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push eax</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      lea   edx, DWORD PTR $LN7@wmain</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      call @_RTC_CheckStackVars@8             ; </span>媯鏌ユ爤</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   eax</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   edx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   ecx, DWORD PTR [ebp-0cH]            ; </span>鍙栧嚭涔嬪墠淇濆瓨鐨勬棫鐨刦s:0錛屽茍鎭㈠</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   DWORD PTR fs:0, ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ebx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      add   esp, e4H                            ; </span>閫鎺夊垎閰嶇殑d8H + 寤虹珛SEH閾炬墍闇鐨?cH瀛楄妭</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      cmp   ebp, esp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      call __RTC_CheckEsp                      ; </span>媯鏌sp鍊鹼紝榪欎釜鏃跺檈sp搴旇鍜宔bp鍖歸厤錛屽惁鍒欒鏄庡嚭鐜頒簡鏍堜笉騫寵 鐨勬儏鍐碉紝榪欑鎯呭喌涓嬭皟鐢ㄥ瓙紼嬪簭鎶ラ敊</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   esp, ebp                            ; </span>鎭㈠ebp鍒癳sp</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      pop   ebp                                 ; </span>鎭㈠鍘熸潵鐨別bp鍊?/font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      ret   0</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">_wmain<span>      ENDP</span></font></div> </td> </tr> </tbody> </table> </p> <div> </div> <div>涓撻棬鐢ㄤ簬SEH鐨勫瓙紼嬪簭銆俖_unwindfunclet$_wmain$0褰撳紓甯稿彂鐢熺殑鏃跺欒璋冿紝璐熻矗榪涜鏍堝睍寮錛屼富瑕佹槸璋冪敤鏋愭瀯鍑芥暟銆俖_ehhandler$_wmain鍒欐槸鍦╡xception琚姏鍑虹殑鏃跺欒皟鐢ㄣ?/div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">Text$x<span>      SEGMENT</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">__unwindfunclet$_wmain$0:<span>                       ; </span>褰揝EH鍙戠敓鐨勬椂鍊欎細璋冪敤璇ュ嚱鏁幫紝鏋愯喘a_class</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      lea   ecx, DWORD PTR [ebp-14H]            ; ecx = [ebp – 14H]</span>錛屼篃灝辨槸a_class鐨勫湴鍧</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      jmp   ??1my_class@@QAE@XZ                 ; </span>璋冪敤my_class::~my_class</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">__ehhandler$_wmain:</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   edx, DWORD PTR [esp+8]             ; esp = </span>褰撳墠鐨刦s:0, [esp + 8] = 涔嬪墠鐨凷EH緇撴瀯錛屼篃灝辨槸main涓緩绔嬬殑</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      lea   eax, DWORD PTR [edx+0cH]            ; edx + 0Ch = </span>褰撳墠鐨別bp錛屼篃灝辨槸main鐨別bp錛屾鏃朵笉鑳界洿鎺ヤ嬌鐢╡bp鍥犱負鍙兘浼氫粠浠繪剰鍑芥暟璋冭繃鏉ワ紝姝ゆ椂ebp鏄鍑芥暟鐨別bp錛岃屼笉鏄痬ain鐨別bp</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   ecx, DWORD PTR [edx-e0H]            ; </span>涔嬪墠瀛樹笅鍘葷殑__security_cookie ^ ebp</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      xor   ecx, eax                            ; </span>鍐嶆鍜宔bp鐩稿紓鎴?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      call @__security_check_cookie@4          ; </span>姝ゆ椂ecx搴旇絳変簬__security_cookie錛屽惁鍒欒鏄庢爤鐨勫唴瀹硅鎭舵剰鏀瑰姩錛堟垨鑰呯紪紼嬮敊璇級</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   eax, OFFSET __ehfuncinfo$_wmain</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      jmp   ___CxxFrameHandler3</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">text$x<span>      ENDS</span></font></div> <div style="MARGIN-BOTTOM: 0pt"> </div> </td> </tr> </tbody> </table> </p> <div> </div> <div>My_class::my_class鏋勯犲嚱鏁板涓嬨傛瀯閫犲嚱鏁版湰璐ㄤ笂灝辨槸涓涓叏灞鍑芥暟錛屽悕瀛楁槸緇忚繃鎵撲貢鐨?Name Mangling)錛岃繖鏍峰彲浠ュ拰鍚屼竴Class鍜屽叾浠朇lass鐨勫悓鍚嶆柟娉曞尯鍒紑鏉ャ備笉鍚岀紪璇戝櫒鏈変笉鍚岃鍒欙紝鍥犳涓嶅繀榪囦簬娣辯┒銆?/div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">_TEXT</font><span><font face="Courier New"> SEGMENT<br>??0my_class@@QAE@XZ PROC</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push ebp                                 ; </span>淇濆瓨鏃х殑ebp</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   ebp, esp                            ; ebp</span>淇濆瓨褰撳墠鏍堢殑浣嶇疆</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      sub   esp, ccH                            ; </span>緇欐爤鍒嗛厤ccH涓瓧鑺?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      push ebx                                 ; </span>淇濆瓨甯哥敤瀵勫瓨鍣?/font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      lea   edi, DWORD PTR [ebp-ccH]            ; </span>浠庡垎閰嶇殑浣嶇疆寮濮?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   ecx, 33H                            ; </span>鍐?3H涓猚cccccccH</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   eax, ccccccccH                      ; </span>涔熷氨鏄?3H*4H=ccH錛屾濂芥槸鍒嗛厤鐨勫ぇ灝?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      rep stosd                                 ; </span>浠庤屾妸鏁翠釜鏍堜笂褰撳墠鍒嗛厤鐨勭┖闂寸敤ccH濉弧</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   DWORD PTR [ebp-8], ecx             ; </span>鎸夌収綰﹀畾錛屼竴鑸敤ECX淇濆瓨this鎸囬拡</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>                                                ; </span>鎶妕his瀛樺叆鍒癳bp-8錛屽茍涓嶆槸寰堝繀瑕侊紝鍥犱負榪欐槸Debug鐗堟湰</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">                                                </font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 10<span>   :     {</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 11<span>   :         m_member = 1;</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   eax, DWORD PTR [ebp-8]             ; eax</span>涓瓨鏀総his</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   DWORD PTR [eax], 1                  ; this</span>鐨勫ご鍥涗釜byte鏄痬_member鐨勫唴瀹?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 12<span>   :     }</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   eax, DWORD PTR [ebp-8]             ; </span>澶氫綑鐨勪竴鍙ヨ瘽錛屽彲浠ヤ紭鍖栨帀</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ebx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   esp, ebp                            ; </span>鎭㈠esp錛屽洜姝ゅ氨綆楁槸涓棿鏍堣繍綆楀嚭閿欙紝鏈鍚庝篃涓嶄細瀵艱嚧鐏鵑毦鎬х殑緇撴灉錛屽彧瑕乪bp榪樻槸姝g‘鐨?/font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      ret   0</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">??0my_class@@QAE@XZ ENDP</font></div> </td> </tr> </tbody> </table> </p> <div> </div> <div>My_class::method鐨勫疄鐜板涓嬶細</div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">_TEXT<span> SEGMENT</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">?method@my_class@@QAEXH@Z PROC<span>                  ; my_class::method</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 15<span>   :     {</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   ebp, esp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      sub   esp, ccH</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ebx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      lea   edi, DWORD PTR [ebp-ccH]</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   ecx, 33H</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   eax, ccccccccH</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      rep stosd</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   DWORD PTR [ebp-8], ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 16<span>   :         m_member = n;</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   eax, DWORD PTR [ebp-8]             ; eax</span>涓瓨鏀総his</font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   ecx, DWORD PTR [ebp+8]             ; ebp -> ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">                                                ; ebp + 4 -> IP </font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">                                                ; ebp + 8 -> n</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>                                                ; </span>鎶妌瀛樺叆ecx涓?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      mov   DWORD PTR [eax], ecx                ; this</span>澶村洓涓瓧鑺傛槸m_member, 鍥犳榪欏彞璇濆氨鏄痬_member = n</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 17<span>   :     }</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ebx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   esp, ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>      ret   4                                   ; </span>絳変環(huán)浜?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>                                                ; ret </span>鎭㈠EIP錛岃繑鍥炶皟鐢ㄥ湴鍧</font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"><span>                                                ; add esp, 4 -> </span>鎶妌浠庢爤涓奝op鎺?/font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">?method@my_class@@QAEXH@Z ENDP</font></div> </td> </tr> </tbody> </table> </p> <div> </div> <div>鏈鍚庣殑鏋愭瀯鍑芥暟錛屽拰鍓嶉潰鐨勪唬鐮佸茍鏃犲尯鍒?/div> <p> <table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: rgb(219,229,241) 0% 50%; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 7.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" vAlign=top width=734> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">_TEXT<span> SEGMENT</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">??1my_class@@QAE@XZ PROC<span>                        ; my_class::~my_class</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 20<span>   :     {</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   ebp, esp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      sub   esp, 204                      </font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ebx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      push ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      lea   edi, DWORD PTR [ebp-204]</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   ecx, 33H                      </font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   eax, ccccccccH                </font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      rep stosd</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   DWORD PTR _this$[ebp], ecx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 21<span>   :         m_member = 0;</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   eax, DWORD PTR [ebp-8]</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   DWORD PTR [eax], 0</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">; 22<span>   :     }</span></font></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New"> </font></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   edi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   esi</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ebx</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      mov   esp, ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      pop   ebp</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><span><font face="Courier New">      ret   0</font></span></div> <div style="MARGIN-BOTTOM: 0pt"><font face="Courier New">??1my_class@@QAE@XZ ENDP<span>                        ; my_class::~my_class</span></font></div> </td> </tr> </tbody> </table> </p> <img src ="http://www.shnenglu.com/zgysx/aggbug/56382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zgysx/" target="_blank">warrior</a> 2008-07-17 10:15 <a href="http://www.shnenglu.com/zgysx/archive/2008/07/17/56382.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>緙栧啓鍙彉鍙傛暟鍑芥暟http://www.shnenglu.com/zgysx/archive/2008/07/08/55609.htmlwarriorwarriorTue, 08 Jul 2008 03:35:00 GMThttp://www.shnenglu.com/zgysx/archive/2008/07/08/55609.htmlhttp://www.shnenglu.com/zgysx/comments/55609.htmlhttp://www.shnenglu.com/zgysx/archive/2008/07/08/55609.html#Feedback0http://www.shnenglu.com/zgysx/comments/commentRss/55609.htmlhttp://www.shnenglu.com/zgysx/services/trackbacks/55609.html#include "stdafx.h"
#include 
<string>
#include 
<stdio.h>
#include 
<stdarg.h>
#include 
<varargs.h>

void Format(wchar_t * psz,  )
{
    va_list ap;
    wchar_t message[
1024] = {0}; 
    va_start(ap,psz);
    vswprintf(message,psz,ap);
    va_end(ap);

    wprintf(L
"%s\n", message);
}



int _tmain(int argc, _TCHAR* argv[])
{
    wchar_t 
* p = L"abc";
    
int a = 10;
    Format(L
"%s%d", p, a);
    
return 0;
}

杈撳嚭涓?abc10

warrior 2008-07-08 11:35 鍙戣〃璇勮
]]>
閲嶈澆(overload)錛岃鐩?override),闅愯棌(hide)鐨勫尯鍒?/title><link>http://www.shnenglu.com/zgysx/archive/2007/03/12/19662.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Mon, 12 Mar 2007 13:47:00 GMT</pubDate><guid>http://www.shnenglu.com/zgysx/archive/2007/03/12/19662.html</guid><wfw:comment>http://www.shnenglu.com/zgysx/comments/19662.html</wfw:comment><comments>http://www.shnenglu.com/zgysx/archive/2007/03/12/19662.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/zgysx/comments/commentRss/19662.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zgysx/services/trackbacks/19662.html</trackback:ping><description><![CDATA[鍐欐棰樹箣鍓嶏紝鍏堢粰鍑哄嚑涓叧閿瓧鐨勪腑鑻辨枃瀵圭収錛岄噸杞?overload)錛岃鐩?override),闅愯棌(hide)銆傚湪鏃╂湡鐨凜++涔︾睄涓紝鍙兘緲昏瘧鐨勪漢涓嶇啛鎮(zhèn)変笓涓氱敤璇紙涔熶笉鑳芥粬浠紝浠栦滑涓嶆槸鎼炶綆楁満緙栫▼鐨勶紝浠栦滑鏄嫳璇笓涓氱殑錛夛紝甯稿父鎶婇噸杞?overload)鍜岃鐩?override)鎼為敊錛? <p>銆銆鎴戜滑鍏堟潵鐪嬩竴浜涗唬鐮佸強鍏剁紪璇戠粨鏋溿?/p><p>銆銆瀹炰緥涓:<br />銆銆#include "stdafx.h"<br />銆銆#include <iostream.h></p><p>銆銆class CB<br />銆銆{<br />銆銆public:<br />聽銆銆銆銆<font color="#ff0000">void f(int)<br /></font>聽銆銆銆銆{<br />聽銆銆銆銆銆銆聽cout << "CB::f(int)" << endl;<br />銆銆銆銆聽}</p><p>銆銆};</p><p><br />銆銆class CD : public CB<br />銆銆{<br />銆銆public:<br />銆銆銆銆聽<font color="#ff0000">void f(int,int)<br /></font>聽銆銆銆銆{<br />聽聽銆銆銆銆銆銆cout << "CD::f(int,int)" << endl;<br />聽銆銆銆銆}</p><p>聽銆銆銆銆void test()<br />聽銆銆銆銆{<br />聽聽銆銆銆銆銆f(1);<br />聽銆銆銆銆}<br />銆銆};</p><p>銆int main(int argc, char* argv[])<br />銆{<br />銆銆銆聽return 0;<br />銆}<br />緙栬瘧浜嗕竴涓?br />error C2660: 'f' : function does not take 1 parameters</p><p><br />緇撹錛氬湪綾籆D榪欎釜鍩熶腑錛屾病鏈塮(int)榪欐牱鐨勫嚱鏁幫紝鍩虹被涓殑void f(int)琚?font color="#ff0000">闅愯棌</font></p><p>銆銆濡傛灉鎶婃淳鐢烠D涓垚鍛樺嚱鏁皏oid f(int,int)鐨勫0鏄庢敼鎴愬拰鍩虹被涓竴鏍鳳紝鍗砯(int)錛屽熀綾諱腑鐨剉oid f(int)榪樻槸涓鏍瘋瑕嗙洊錛屾鏃剁紪璇戜笉浼氬嚭閿欙紝鍦ㄥ嚱鏁頒腑test璋冪敤鐨勬槸CD涓殑f(int)銆</p><p>銆銆鎵浠ワ紝鍦?font color="#ff0000">鍩虹被涓?/font>鐨勬煇浜涘嚱鏁幫紝濡傛灉<font color="#ff0000">娌℃湁</font><font color="#ff0000">virtral</font>鍏抽敭瀛楋紝鍑芥暟鍚嶆槸<font color="#ff0000">f(</font>鍙傛暟鏄粈涔堟垜浠笉綆?錛岄偅涔堝鏋滃湪媧劇敓綾籆D涓?font color="#ff0000">涔熷0鏄庝簡鏌愪釜f</font>鎴愬憳鍑芥暟錛岄偅涔堝湪綾籆D鍩熶腑錛?font color="#ff0000">鍩虹被涓墍鏈夌殑閭d簺f閮借闅愯棌銆?/font><br />銆銆濡傛灉浣犳瘮杈冨績鎬ワ紝鎯崇煡閬撲粈涔堟槸闅愯棌錛岀湅鏂囩珷鏈鍚庣殑綆鍗曡鏄庯紝涓嶈繃鎴戝緩璁綘榪樻槸涓姝ヤ竴姝ョ湅涓嬪幓銆?/p><p>銆銆鎴戜滑鍒氭墠璇寸殑鏄病鏈塿irtual鐨勬儏鍐碉紝濡傛灉鏈塿irtual鐨勬儏鍐靛憿錛燂紵<br />銆銆瀹炰緥浜岋細</p><p>#include "stdafx.h"<br />#include <iostream.h></p><p>class CB<br />{<br />public:<br />聽銆銆<font color="#ff0000">virtual void f(int)<br /></font>聽銆銆{<br />聽聽銆銆銆銆cout << "CB::f(int)" << endl;<br />聽銆銆}</p><p>};</p><p><br />class CD : public CB<br />{<br />public:<br />銆銆聽<font color="#ff0000">void f(int)<br /></font>聽銆銆{<br />聽聽銆銆銆銆cout << "CD::f(int)" << endl;<br />銆銆聽}</p><p>};</p><p>int main(int argc, char* argv[])<br />{<br />聽銆return 0;<br />}</p><p>銆銆榪欎箞鍐欏綋鐒舵槸娌¢棶棰樹簡錛屽湪榪欓噷鎴戜笉澶氳垂鍙h垖浜嗭紝榪欐槸寰堢畝鍗曠殑錛屽鎬侊紝铏氬嚱鏁幫紝鐒跺悗浠涔堟寚鍚戝熀綾葷殑鎸囬拡鎸囧悜媧劇敓綾誨璞¢樋錛岄氳繃寮曠敤璋冪敤铏氬嚱鏁伴樋浠涔堢殑錛屽睘鎬у鐨勫緢鍜紝浠涔堬紵錛熶綘涓嶆槑鐧斤紵錛熼殢渚挎壘鏈珻++鐨勪功錛屽浼氳澶氭佸拰铏氬嚱鏁版満鍒剁殑鍝︼紒錛?br />銆銆榪欑鎯呭喌鎴戜滑鍙?font color="#ff0000">瑕嗙洊(override)錛?/font>瑕嗙洊鎸囩殑鏄淳鐢熺被鐨勮櫄鎷熷嚱鏁拌鐩栦簡鍩虹被鐨勫悓鍚嶄笖鍙傛暟鐩稿悓鐨勫嚱鏁幫紒<br />銆銆鍦ㄨ繖閲岋紝鎴戣寮鴻皟鐨勬槸錛岃繖縐嶈鐩栵紝瑕佹弧瓚充袱涓潯浠?br />銆<font size="4">(a)</font><font color="#ff0000">鏈塿irtual鍏抽敭瀛?/font>錛屽湪鍩虹被涓嚱鏁板0鏄庣殑鏃跺欏姞涓婂氨鍙互浜?br />銆<font size="4">(b)</font>鍩虹被CB涓殑鍑芥暟鍜屾淳鐢熺被CD涓殑鍑芥暟<font color="#ff0000">瑕佷竴妯′竴鏍?/font>錛屼粈涔堝彨涓妯′竴鏍鳳紝<font color="#ff0000">鍑芥暟鍚嶏紝鍙傛暟錛岃繑鍥炵被鍨嬩笁涓潯浠?/font>銆?br />銆銆鏈変漢鍙兘浼氬(b)涓殑璇存硶璐ㄧ枒錛岃榪斿洖綾誨瀷涔熻涓鏍鳳紵錛?br />銆銆鏄紝瑕嗙洊鐨勮瘽蹇呴』涓鏍鳳紝鎴戣瘯浜嗚瘯錛屽鏋滃湪鍩虹被涓?鎶奻鐨勫0鏄庢敼鎴恦irtual int f(int)錛岀紪璇戝嚭閿欎簡<br />銆銆error C2555: 'CD::f' : overriding virtual function differs from 'CB::f' only by return type or calling convention<br />銆銆鎵浠ワ紝瑕嗙洊鐨勮瘽錛屽繀欏昏婊¤凍涓婅堪鐨?a)(b)鏉′歡</p><p>銆銆閭d箞濡傛灉鍩虹被CB涓殑鍑芥暟f鏈夊叧閿瓧virtual銆錛屼絾鏄弬鏁板拰媧劇敓綾籆D涓殑鍑芥暟f鍙傛暟涓嶄竴鏍峰憿錛?br />瀹炰緥涓?<br />聽 #include "stdafx.h"<br />#include <iostream.h></p><p>class CB<br />{<br />銆public:<br />聽銆銆 virtual聽 void f(int)<br />銆銆聽{<br />聽銆銆銆銆聽cout << "CB::f(int)" << endl;<br />銆銆聽}</p><p>}<br />;</p><p><br />class CD : public CB<br />{<br />public:<br />聽銆銆 void f(int錛宨nt)<br />聽銆銆{<br />聽銆銆銆聽cout << "CD::f(int錛宨nt)" << endl;<br />聽銆銆}</p><p>聽銆銆void test()<br />聽銆銆{<br />聽銆銆銆銆聽f(1);<br />聽銆銆}<br />}<br />;</p><p>int main(int argc, char* argv[])<br />{<br />聽return 0;<br />}</p><p>緙栬瘧鍑洪敊浜嗭紝<br />聽error C2660: 'f' : function does not take 1 parameters<br />銆銆鍜︼紵錛熷ソ闈㈢啛鐨勯敊錛燂紵瀵癸紝鍜屽疄渚嬩竴涓殑鎯呭喌涓鏍峰摝錛岀粨璁轟篃鏄熀綾諱腑鐨勫嚱鏁拌闅愯棌浜嗐?/p><p>銆銆閫氳繃涓婇潰涓変釜渚嬪瓙錛屽緱鍑轟竴涓畝鍗曠殑緇撹<br />濡傛灉<font color="#ff0000">鍩虹被涓殑鍑芥暟鍜屾淳鐢熺被涓殑涓や釜鍚嶅瓧涓鏍風殑鍑芥暟f</font><br />婊¤凍涓嬮潰鐨勪袱涓潯浠?br /><font size="4">(a)鍦ㄥ熀綾諱腑鍑芥暟澹版槑鐨勬椂鍊欐湁virtual鍏抽敭瀛?br />(b)鍩虹被CB涓殑鍑芥暟鍜屾淳鐢熺被CD涓殑鍑芥暟涓妯′竴鏍鳳紝鍑芥暟鍚嶏紝鍙傛暟錛岃繑鍥炵被鍨嬮兘涓鏍楓?br />閭d箞榪欏氨鏄彨鍋?font color="#ff0000">瑕嗙洊(override)錛?/font>榪欎篃灝辨槸铏氬嚱鏁幫紝澶氭佺殑鎬ц川</font></p><p><font size="4">閭d箞鍏朵粬鐨勬儏鍐靛憿錛燂紵鍙鍚嶅瓧涓鏍鳳紝涓嶆弧瓚充笂闈㈣鐩栫殑鏉′歡錛屽氨鏄?font color="#ff0000">闅愯棌</font>浜嗐?/font></p><p><font size="4">涓嬮潰鎴戣璁叉渶鍏抽敭鐨勫湴鏂逛簡</font>錛屽ソ澶氫漢璁や負錛屽熀綾籆B涓殑f(int)浼氱戶鎵夸笅鏉ュ拰CD涓殑f(int,int)鍦ㄦ淳鐢熺被CD涓瀯鎴愰噸杞斤紝灝卞儚瀹炰緥涓涓兂鍍忕殑閭f牱銆?br />銆銆瀵瑰悧錛熸垜浠厛鐪嬮噸杞界殑瀹氫箟<br />銆銆<font color="#ff0000">閲嶈澆(overload):<br /></font>銆銆蹇呴』鍦ㄤ竴涓煙涓?鍑芥暟鍚嶇О鐩稿悓浣嗘槸鍑芥暟鍙傛暟涓嶅悓,閲嶈澆鐨勪綔鐢ㄥ氨鏄悓涓涓嚱鏁版湁涓嶅悓鐨勮涓?鍥犳涓嶆槸鍦ㄤ竴涓煙涓殑鍑芥暟鏄棤娉曟瀯鎴愰噸杞界殑,榪欎釜鏄噸杞界殑閲嶈鐗瑰緛<br />銆銆<font color="#ff0000" size="4">蹇呴』鍦ㄤ竴涓煙涓?/font>錛岃岀戶鎵挎槑鏄炬槸鍦ㄤ袱涓被涓簡鍝︼紝鎵浠ヤ笂闈㈢殑鎯蟲硶鏄笉鎴愮珛鐨勶紝鎴戜滑嫻嬭瘯鐨勭粨鏋勪篃鏄繖鏍鳳紝媧劇敓綾諱腑鐨刦(int,int)鎶婂熀綾諱腑鐨刦(int)闅愯棌浜?br />銆銆鎵浠ワ紝<font color="#ff0000">鐩稿悓鐨勫嚱鏁板悕鐨勫嚱鏁幫紝鍦ㄥ熀綾誨拰媧劇敓綾諱腑鐨勫叧緋誨彧鑳芥槸瑕嗙洊鎴栬呴殣钘忋?/font></p><p>銆銆鍦ㄦ枃绔犱腑錛屾垜鎶婇噸杞藉拰瑕嗙洊鐨勫畾涔夐兘緇欎簡鍑烘潵浜嗭紝浣嗘槸涓鐩存病鏈夌粰闅愯棌鐨勫畾涔夛紝鍦ㄦ渶鍚庯紝鎴戞妸浠栫粰鍑烘潵錛岃繖孌佃瘽鏄綉涓奼oogle鏉ョ殑錛屾瘮杈冮暱錛屼綘鍙互綆鍗曠殑鐞嗚В鎴愶紝鍦ㄦ淳鐢熺被鍩熶腑錛岀湅涓嶅埌鍩虹被涓殑閭d釜鍚屽悕鍑芥暟浜嗭紝鎴栬呰錛屾槸騫舵病鏈夌戶鎵夸笅鏉ョ粰浣犵敤錛屽懙鍛碉紝濡傚疄渚嬩竴銆閭f牱銆?br />銆銆</p><p><font color="#ff0000">闅愯棌(hide):<br /></font>鎸囩殑鏄淳鐢熺被鐨勬垚鍛樺嚱鏁伴殣钘忎簡鍩虹被鍑芥暟鐨勬垚鍛樺嚱鏁?闅愯棌涓璇嶅彲浠ヨ繖涔堢悊瑙?鍦ㄨ皟鐢ㄤ竴涓被鐨勬垚鍛樺嚱鏁扮殑鏃跺?緙栬瘧鍣ㄤ細娌跨潃綾葷殑緇ф壙閾鵑愮駭鐨勫悜涓婃煡鎵懼嚱鏁扮殑瀹氫箟,濡傛灉鎵懼埌浜嗛偅涔堝氨鍋滄鏌ユ壘浜?鎵浠ュ鏋滀竴涓淳鐢熺被鍜屼竴涓熀綾婚兘鏈夊悓涓涓?font style="BACKGROUND-COLOR: #ffffff" color="#ff0000">鍚屽悕</font>(鏆備笖涓嶈鍙傛暟鏄惁鐩稿悓)鐨勫嚱鏁?鑰岀紪璇戝櫒鏈緇堥夋嫨浜嗗湪媧劇敓綾諱腑鐨勫嚱鏁?閭d箞鎴戜滑灝辮榪欎釜媧劇敓綾葷殑鎴愬憳鍑芥暟"闅愯棌"浜嗗熀綾葷殑鎴愬憳鍑芥暟,涔熷氨鏄瀹冮樆姝簡緙栬瘧鍣ㄧ戶緇悜涓婃煡鎵懼嚱鏁扮殑瀹氫箟.</p><img src ="http://www.shnenglu.com/zgysx/aggbug/19662.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zgysx/" target="_blank">warrior</a> 2007-03-12 21:47 <a href="http://www.shnenglu.com/zgysx/archive/2007/03/12/19662.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.izakka.net.cn" target="_blank">69SEX久久精品国产麻豆</a>| <a href="http://www.bayercas.cn" target="_blank">久久久久久毛片免费看</a>| <a href="http://www.jn249.cn" target="_blank">性做久久久久久免费观看</a>| <a href="http://www.a737.cn" target="_blank">99久久伊人精品综合观看</a>| <a href="http://www.shishanfz.cn" target="_blank">久久99国产精品99久久</a>| <a href="http://www.itmr.com.cn" target="_blank">久久国产亚洲高清观看</a>| <a href="http://www.dw172.cn" target="_blank">精品综合久久久久久888蜜芽</a>| <a href="http://www.ehrmfye.cn" target="_blank">午夜精品久久久久久影视riav</a>| <a href="http://www.292284.cn" target="_blank">看全色黄大色大片免费久久久</a>| <a href="http://www.take-art.cn" target="_blank">国产精品热久久毛片</a>| <a href="http://www.zhaoyang-db.com.cn" target="_blank">国产成人无码精品久久久免费</a>| <a href="http://www.androidfans.com.cn" target="_blank">久久精品国内一区二区三区</a>| <a href="http://www.goqswequrv.cn" target="_blank">国内精品久久久久影院一蜜桃 </a>| <a href="http://www.east110.com.cn" target="_blank">国产成人久久精品一区二区三区</a>| <a href="http://www.brill-sh.com.cn" target="_blank">思思久久好好热精品国产</a>| <a href="http://www.8351840.cn" target="_blank">九九精品久久久久久噜噜</a>| <a href="http://www.kydxx.cn" target="_blank">99久久99久久精品国产片果冻</a>| <a href="http://www.marsit.cn" target="_blank">久久久国产打桩机</a>| <a href="http://www.0791gogo.cn" target="_blank">狠狠色丁香久久婷婷综合五月</a>| <a href="http://www.gvsx.cn" target="_blank">久久精品九九亚洲精品天堂 </a>| <a href="http://www.d4rk7r4c3r.cn" target="_blank">久久国语露脸国产精品电影</a>| <a href="http://www.haiyunfu.cn" target="_blank">久久福利资源国产精品999</a>| <a href="http://www.reababy.cn" target="_blank">久久精品国产99久久久古代</a>| <a href="http://www.yiranblog.cn" target="_blank">亚洲精品乱码久久久久久按摩</a>| <a href="http://www.usb5168.cn" target="_blank">国产亚洲精品自在久久</a>| <a href="http://www.senbozulin.com.cn" target="_blank">91亚洲国产成人久久精品</a>| <a href="http://www.luckpai.cn" target="_blank">久久午夜综合久久</a>| <a href="http://www.up598.cn" target="_blank">久久婷婷五月综合色高清</a>| <a href="http://www.orzdream.cn" target="_blank">国产成人无码精品久久久免费</a>| <a href="http://www.rideos.cn" target="_blank">久久妇女高潮几次MBA</a>| <a href="http://www.omqw.cn" target="_blank">精品久久久久久国产91</a>| <a href="http://www.ixibai.cn" target="_blank">一本久久综合亚洲鲁鲁五月天</a>| <a href="http://www.17kav.cn" target="_blank">久久久久亚洲AV无码永不</a>| <a href="http://www.lhstrip.cn" target="_blank">久久精品中文字幕一区</a>| <a href="http://www.227s.cn" target="_blank">欧美精品久久久久久久自慰</a>| <a href="http://www.glkk.net.cn" target="_blank">精品国产婷婷久久久</a>| <a href="http://www.qhylhsk.cn" target="_blank">久久丫精品国产亚洲av不卡</a>| <a href="http://www.xmxfz.cn" target="_blank">青青草国产97免久久费观看</a>| <a href="http://www.jv3znx.cn" target="_blank">精品久久久久久成人AV</a>| <a href="http://www.niuhongtao.cn" target="_blank">亚洲精品无码久久久</a>| <a href="http://www.classicastle.cn" 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>