»ã±à¿´cÖ®Ò»£¬¼òµ¥º¯Êýµ÷ÓÃ
¼òµ¥µÄº¯Êýµ÷Óã¬Í¨¹ý¼òµ¥µÄº¯Êýµ÷Ó÷´»ã±à¿ÉÒÔÇå³þÁ˽âÈçÏÂ
1.Õ»µ½µ×ÊÇʲô£¬ÈçºÎ²Ù×ÝÕ»µÄ£¿
2.²ÎÊýºÍÁÙʱ±äÁ¿ÊÇÒÔʲôÐÎʽÔÚÄÄ´æ·Å£¿
3.ÈçºÎ´«µÝ·µ»ØÖµ£¿
¾ÙÀý£º
#include <stdio.h>
int add(int a,int b)
{
int c=0;
c=a+b;
return c;
}
int main(void)
{
int x=0;
int y=3;
int z=4;
x=add(y,z);
return 0;
}
ÕâÊÇÒ»¸ö¼òµ¥µÄͨ¹ýµ÷Óú¯Êý¼ÆËãÁ½ÊýÖ®ºÍµÄ³ÌÐò
VC6.0Éú³ÉµÄ»ã±à´úÂëÈçÏ£º
addº¯Êý
{
0040D750 push ebp
//°Ñmainº¯ÊýµÄebpѹջ£¬ebp=1000,esp=896
0040D751 mov ebp,esp
//µÃµ½“Дջ»ùÖ·£¬ÕâÀïµÄеÄÒâ˼ÊÇÿ¸öº¯Êý·ÃÎÊÊôÓÚ×Ô¼ºµÄÒ»¿éÕ»ÇøÓò£¬ÆäʵÊÇÏàÁÚµÄÄÚ´æÇøÓò£¬»òÕß˵ջֻÓÐÒ»¸ö¡£ebp=896£¬esp=896
0040D753 sub esp,44h
//ebp=896£¬esp=828
0040D756 push ebx
0040D757 push esi
0040D758 push edi
//ebp=896£¬esp=816
0040D759 lea edi,[ebp-44h]
0040D75C mov ecx,11h
0040D761 mov eax,0CCCCCCCCh
0040D766 rep stos dword ptr [edi]
//³õʼ»¯ÄÚ²¿±äÁ¿Çø
5: int c=0;
0040D768 mov dword ptr [ebp-4],0
//c·ÅÈë“Дջ»ùÖ·
6: c=a+b;
0040D76F mov eax,dword ptr [ebp+8]
0040D772 add &n
Ïà¹ØÎĵµ£º
µ÷Óú¯Êýʱ£¬¼ÆËã»ú³£ÓÃÕ»À´´æ´¢´«µÝ¸øº¯ÊýµÄ²ÎÊý¡£
Õ»ÊÇÒ»ÖÖÏȽøºó³öµÄÊý¾Ý½á¹¹£¬Õ»ÓÐÒ»¸ö´æ´¢Çø¡¢Ò»¸öÕ»¶¥Ö¸Õë¡£Õ»¶¥Ö¸ÕëÖ¸Ïò¶ÑÕ»ÖеÚÒ»¸ö¿ÉÓõÄÊý¾ÝÏ±»³ÆÎªÕ»¶¥£©¡£Óû§¿ÉÒÔÔÚÕ»¶¥ÉÏ·½ÏòÕ»ÖмÓÈëÊý¾Ý£¬Õâ¸ö²Ù×÷±»³ÆÎªÑ¹Õ»(Push)£¬Ñ¹Õ»ÒÔºó£¬Õ»¶¥×Ô¶¯±ä³ÉмÓÈëÊý¾ÝÏîµÄλÖã¬Õ»¶¥Ö¸ÕëÒ²ËæÖ®Ð޸ġ£Óû§Ò²¿ÉÒÔ´Ó¶ÑÕ»ÖÐ ......
ǰÑÔ
ÔÚ±àд³ÌÐòµÄʱºò,ÎÒÃǾ³£ÒªÓõ½ºê¶¨Òå,ºê¶¨ÒåµÄÒýÈëȷʵ´ó´óÌá¸ßÁ˳ÌÐòµÄ¿É¶ÁÐÔ,¿ÉÒÆÖ²ÐÔ,·½±ãά»¤.......Òò´ËƯÁÁµÄºê¶¨ÒåºÜÖØÒª.....ʹÓú궨ÒåÒ²ÊÇÓÐÒ»¶¨¼¼ÇɵÄ,ÏÂÃæÊǹØÓں궨ÒåµÄһЩºÃµÄ³£Óõķ½·¨,¾Ý˵ÊÇһЩ³ÉÊìµÄÈí¼þÖг£ÓõÄ....ÎÒÌôÁËһЩÎÒÃÇÄܹ»Àí½â¶øÇÒʵÓõãµÄ.... µ«ÊÇ,ʹÓú궨ÒåʱҲҪʮ·ÖСÐÄ,Ó ......
ÓÉÓÚC++±àÒëÆ÷ÐèÒªÖ§³Öº¯ÊýµÄÖØÔØ£¬»á¸Ä±äº¯ÊýµÄÃû³Æ£¬Óë±ê×¼CÖк¯ÊýÃû³Æ²»Í¬¡£È»¶ødllµÄµ¼³öº¯Êýͨ³£ÊDZê×¼C¶¨ÒåµÄ£¬Èñê×¼C±àдµÄdllº¯Êý¶¨ÒåÔÚCºÍC++±àÒëÆ÷϶¼ÄܱàÒëͨ¹ý£¬Í¨³£»áʹÓÃÒÔϵĸñʽ£º£¨Õâ¸ö¸ñʽÔںܶà³ÉÊìµÄ´úÂëÖкܳ£¼û£©
#ifdef __cplusplus extern "C"
{
#endif
// ......
getcharº¯ÊýÊǶ¨ÒåÔÚ stdio.h ÎļþÖеÄÒ»¸öÊäÈ뺯Êý¡£Ëü´Ó±ê×¼ÊäÈëÉ豸£¨Ò»°ãÊǼüÅÌ£©ÖжÁȡһ¸ö×Ö·û¡£
ÔÚʵ¼Ê¹¤×÷ÖУ¬ËüÊÇÕâÑùÍê³ÉµÄ£º
¼üÅÌÊäÈëµ½¼ÆËã»úÖеÄ×Ö·û²¢²»ÊÇÁ¢¿ÌË͵½ÄÚ´æÖÐÖ¸¶¨Î»Ö㬶øÊÇ»áÊ×ÏÈ»º´æµ½Ò»¸ö»º³åÇøÖС£Õâ¸öÊǼÆËã»úΪÁËÃÖ²¹²»Í¬Ó²¼þÖ®¼äËٶȲî¾à£¬¶ø¹ßÓõļ¿Á©¡£
µ±ÔÚ³ÌÐòÖеÚÒ»´Îµ÷Óà getchar ......
¡¡¡¡1£¬mallocÓëfreeÊÇC++/CÓïÑԵıê×¼¿âº¯Êý£¬new/deleteÊÇC++µÄÔËËã·û¡£ËüÃǶ¼¿ÉÓÃÓÚÉêÇ붯̬ÄÚ´æºÍÊÍ·ÅÄÚ´æ¡£
¡¡¡¡2£¬¶ÔÓÚ·ÇÄÚ²¿Êý¾ÝÀàÐ͵ĶÔÏó¶øÑÔ£¬¹âÓÃmaloc/freeÎÞ·¨Âú×㶯̬¶ÔÏóµÄÒªÇó¡£¶ÔÏóÔÚ´´½¨µÄͬʱҪ×Ô¶¯Ö´Ðй¹Ô캯Êý£¬¶ÔÏóÔÚÏûÍö֮ǰҪ×Ô¶¯Ö´ÐÐÎö¹¹º¯Êý¡£ÓÉÓÚmalloc/freeÊǿ⺯Êý¶ø²»ÊÇÔËËã·û£¬²»ÔÚ±àÒëÆ ......