结构体作为参数和返回值原理

来源:互联网 发布:java生成唯一订单号 编辑:程序博客网 时间:2024/05/16 07:58
 结构体作为函数的参数会在调用函数前把整个结构体放到栈上但是不是通过push而是减去esp然后通过mov指令拷贝结构体,push每次都放4字节到栈上。函数返回结构体其实是调用者传一个结构体的地址参数进去,然后函数体内部直接用这块内存初始化并调用构造函数。类的this指针通过ecx传送。在类函数中使用成员就是this指针加上类成员的偏移,注意有虚函数的对象内存最前面几个字节存放的是虚函数表的地址。c++不懂的地方多用alt+8汇编调试,今天发现的特好用啊。
原创粉丝点击