IT技术博客大学习 共学习 共进步

标签:Visual

共 1 篇相关文章

IT 累计浏览 1,621

Visual C++中的几种函数调用方式

(本文中所有汇编代码均采用Intel语法,即dest在左边) C++中的函数被编译成汇编代码的时候,必须遵循一定的规范,如参数怎么传递,栈指针怎么增减。Visual C++中,一共有5种情况: __cdecl __stdcall __fastcall __thiscall 默认情况下,是__cdecl。__cdecl 和__stdcall的区别是:__cdecl是调用者清理栈,而__stdcall是被调用者清理栈。所以,理论来说,__cdecl生成的代码体积会更大。但是,对于varargs函数,由于被调用者并不知道参数的具体长度,所以这样的函数只能采用__cdecl。