C语言调用约定

stdcall

语法:
int __stdcall function(int a,int b)
    1、参数从右向左压入堆栈
2、函数自身修改堆栈
内平栈

cdecl

cdecl调用约定又称为C调用约定
int function (int a ,int b) //不加修饰就是C调用约定 
int __cdecl function(int a,int b)//明确指出C调用约定
外平栈

fastcall

其声明语法为:int __fastcall function(int a,int b)
1、通过ecx和edx传递,其他参数通过从右向左的顺序压栈,
          如果参数大于2个,则其余的用堆栈传参
2、被调用函数清理堆栈
外平栈

thiscall

naked call

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 10,244评论 1 19
  • 关于 C/C++ 函数调用约定,大多数时候并不会影响程序逻辑,但遇到跨语言编程时,了解一下还是有好处的。 VC 中...
    王守伟阅读 7,091评论 0 2
  • 函数调用约定 在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只...
    罗蓁蓁阅读 3,728评论 0 4
  • 从本篇开始,我们讨论一些高级语言中的基础设施:堆栈,函数调用,变量生命周期等等话题。因为这里本身会涉及到比较多的汇...
    SlayerNux阅读 14,514评论 1 28
  • 毕业后我一个人在一个城市。 春夏之交,随意一条街道都摇曳在煦暖的光影里。时日正好,在我的央求下,妈来我这里住了几天...
    雪窗帘阅读 5,005评论 8 11

友情链接更多精彩内容