C/C++ Calling covention 调用约定:_stdcall _cdecl CALLBACK WINAPI PASCAL

本文介绍了C/C++编程中的几种调用约定,包括_stdcall(等同于PASCAL)、_cdecl、_fastcall以及thiscall,并详细阐述了每种约定的参数传递方式、堆栈清理责任以及函数名修饰规则。这些约定在不同的场景下有不同的性能和使用特点,例如_stdcall常用于Win32 API,而_cdecl则是C/C++默认的调用约定。

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

宏定义:

#define  CALLBACK    __stdcall
#define  WINAPI      __stdcall
#define  WINAPIV     __cdecl
#define  APIENTRY    WINAPI
#define  APIPRIVATE  __stdcall
#define  PASCAL      __stdcall


调用约定(Calling convention):1、决定函数参数传送时入栈和出栈的顺序;

                                                  2、由调用者还是被调用者把参数弹出栈;

                                                  3、以及编译器用来识别函数名字的修饰约定。
函数调用约定有多种,这里简单说一下:
   1、__stdcall(调用约定)相当于16位动态库中经常使用的PASCAL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值