????c++?械???????????
???????????? ???????[ 2013/5/24 9:53:45 ] ????????
??????c++???????????????????锌???????????????????????????????????????????????????????????????????
??????????????????X????????????????蹇�??????????c++??????锟�?
class X {
private:
int i;
int j;
};
int main() {
X x1;//????????x1
X x2 = x1;//??x1??????x2
}
?????????????????
_main PROC
; 7 : int main() {
push ebp
mov ebp?? esp
sub esp?? 16 ; ?????x1??x2???16byte??????
; 8 : X x1;//????????x1
; 9 : X x2 = x1;//??x1??????x2
mov eax?? DWORD PTR _x1$[ebp];??x1?????????????????????eax?????x1?械???????i?????eax
mov DWORD PTR _x2$[ebp]?? eax;??eax??????写??x2????????????eax??????写??x2????????i
mov ecx?? DWORD PTR _x1$[ebp+4];?????x1????4byte??????????????????eax??????x1?械???????j?????ecx
mov DWORD PTR _x2$[ebp+4]?? ecx;??ecx??????写?????x2????4byte????????妫�????ecx??????写??x2????????j
; 10 : }
xor eax?? eax
mov esp?? ebp
pop ebp
ret 0
_main ENDP
?????????????????????????????泻?????????????械?????????????????????????????????伞?????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????
????????????????????X???婧�????????????
????c++???
class X {
private:
int i;
int j;
public:
virtual ~X() {}//??????????
};
int main() {
X x1;//????????x1
X x2 = x1;//??x1??????x2
}
???????????????????????????????????????main???????????????????
????????????????main??????????
_main PROC
; 9 : int main() {
push ebp
mov ebp?? esp
sub esp?? 24 ; ???????????楹�??????????????????12byte ???????i??j8byte vptr???4byte ????????x1 x2???24byte
; 10 : X x1;//????????x1
lea ecx?? DWORD PTR _x1$[ebp];???x1????????????ecx??????霉????????????????????this
call ??0X@@QAE@XZ;???霉?????
; 11 : X x2 = x1;//??x1??????x2
lea eax?? DWORD PTR _x1$[ebp];???x1????????????????eax
push eax;??eax??????????????????????
lea ecx?? DWORD PTR _x2$[ebp];???x2????????????????ecx?????????????????????????????????this
call ??0X@@QAE@ABV0@@Z;?????????????
; 12 : }
lea ecx?? DWORD PTR _x2$[ebp];???x2????????????ecx??????????????????????????????????????this
call ??1X@@UAE@XZ ; ????????????
lea ecx?? DWORD PTR _x1$[ebp];???x1????????????ecx??????????????????????????????????????this
;????????????????????
call ??1X@@UAE@XZ ; ????????????
xor eax?? eax
mov esp?? ebp
pop ebp
ret 0
_main ENDP
??????

???路???
??????????????????
2023/3/23 14:23:39???写?貌??????????
2023/3/22 16:17:39????????????????????些??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???路???????路
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11