12-01构造析构

1.识别构造

1. 构造函数优先调用

2. ecx传参,且函数内部会将ecx给this赋值(this可能是一块内存空间,也可能是寄存器变量)且返回this指针

3. 可以点击this指针,可能会有多次调用

注: 构造析构都是thiscall,不能修改

2.识别析构

1.析构最后一次调用

2.thiscall传参

3.无返回值

3).识别各种调用约定的成员函数

1.c调用约定,会将this指针push进去,然后平栈按照c调用约定平栈

2.stdcall,会将this指针push进去,内部平栈

3.thiscall会默认使用ecx,外部更改,内部使用,平栈和stdcall一样

4.fastcall,会使用两个寄存器传参,且也会外部更改ecx,内部使用.

5.c约定,std约定,push的时候都是this指针,且是第一个参数(也就是call上面的最近的一个push,必定为this指针)

你可能感兴趣的:(12-01构造析构)