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指针)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容