c/c++函数调用约定

调用方式

参数传递顺寻

清理堆栈         

支持变长参数           

使用对象

函数名修饰

Name-decoration convention

其他

__cdecl

从右至左

调用者

支持

C/C++默认调用方式

函数名前加下划线如函数main修饰成_main

生成的代码比stdcall大,因为其要求每个函数调用包含清理堆栈的代码

__stdcall

从右至左

被调用者

不支持

Win32 APIdll中导出函数使用

下划线开头,函数名,然后@符号,最后是参数的总byte数。如:int f(int a, double b ),名字为_f@12

 

 

__fastcall

先放入EDXECX中,在从右至左

被调用者

不支持

 

@开头,函数名,然后@符号最后是参数的总byte数,如:@f@12

 

快速传参,即快速调用

thiscall

从右至左,this指针放ECX

被调用者

不支持

C++成员函数专用,用来支持this指针

 

 

本文档根据MSDN整理而成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值