ThisCall调用分析
摘要:
C++程序的成员函数默认使用的调用约定是thiscall,这种约定是把this指针放到ECX寄存器中.This调用协定也是要求被调用函数负责清理栈,因此不支持可变数时的参数,当我们在C++类中定义了可变数量参数的成员函数时,偏译器会自动改为使用C调用约定,当这种调用时,编译器会将所有参数压入栈中,再将this指针压入栈:关键两点:1.this时,是被调用函灵敏清理栈 2.如果可变参数,则使用C约定,由调用者来清理写个小demo测试:#include "stdafx.h"#include enum MEAL {BREAKFAST, LUNCH, SUPPER};class C 阅读全文
posted @ 2013-05-13 17:46 hgy413 阅读(400) 评论(0) 推荐(0) 编辑