首页 / 软件开发 / C++ / 函数调用的汇编码分析
函数调用的汇编码分析2011-06-04 博客园 飞行兔子这几天学习汇编,分析了一下 c++ 中函数调用(cdecl 和 fastcall 方式) 过程的汇编码,记录如下:程序例子struct tagTest
{
int n1;
long n2;
DWORD n3;
};
long funtest1(tagTest p1,int p2,LPCTSTR lpszP3)
{ // 普通函数
p1.n1 = 3;
LPCTSTR lpszxx = lpszP3;
p1.n3 = p2;
return 300;
}
long __stdcall funtest2 (tagTest p1,int p2,LPCTSTR lpszP3)
{ // stdcall 函数
p1.n1 = 3;
LPCTSTR lpszxx = lpszP3;
p1.n3 = p2;
return 300;
}
1、普通调用(cdecl)。调用方 C++ 代码: long ixx = 0;
tagTest tag1= {34,6,87};
ixx = funtest1 (tag1,i2,"asdffffffdddddd");