__cdecl与__stdcall用途

本文详细介绍了C/C++中两种主要的调用规范:__cdecl和__stdcall。这两种规范都采用从右向左的方式传递参数,但堆栈清理方式不同:__cdecl由调用者负责清理,适用于可变参数;__stdcall则由被调用者清理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

__cdecl :这是 C/C++ 函数默认的调用规范,参数从右向左依次传递,压入堆栈,由调用函数负责堆栈的清退。这种方式适用于传递个数可变的参数给被调用函数,因为只有调 用函数才知道它传递了多少个参数给被调函数。如printf函数。
__stdcall :参数从右向左依次传递,并压入堆栈,由被调用函数清退堆栈。该规范生成的函数代码比 __cdecl 更小,但当函数有可变个数参数,自动转化为 __cdecl 调用规范。

它们都是从右向左的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值