void s2(int *pd)
{
*pd=2;
}
void s1(int &rd)
{
rd=2;
}
void s3(int x)
{
x=4;
}
int main(int argc, char* argv[])
{
int x=1;
int x2=2;
int &rx=x;
int *px=&x;
s1(x);
s2(&x);
s3(x);
}
23: int x=1; 00401AF3 mov dword ptr [ebp-10h],1
24: int &rx=x;
00401AFA lea eax,[ebp-10h]
00401AFD mov dword ptr [ebp-14h],eax
25: int *px=&x;
00401B00 lea ecx,[ebp-10h]
00401B03 mov dword ptr [ebp-18h],ecx
1、首先解释下几个汇编指令:
mov ecx,[eax+0x30]表示先运算eax+0x30得到一个结果,以这个结果为地址找一个ecx长度