博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
__stdcall 与 __cdecl
阅读量:5147 次
发布时间:2019-06-13

本文共 525 字,大约阅读时间需要 1 分钟。

__stdcall 与 __cdecl:

__cdecl,__stdcall是声明的函数调用协议.主要是传参和弹栈方面的不同.一般c++用的是__cdecl,windows里大都用的是__stdcall(API)

__cdecl是C/C++和MFC程序默认使用的调用约定,也可以在函数声明时加上__cdecl关键字来手工指定。采用__cdecl约定 时,函数参数按照从右到左的顺序入栈,并且由调用函数者把参数弹出栈以清理堆栈。因此,实现可变参数的函数只能使用该调用约定。由于每一个使用 __cdecl约定的函数都要包含清理堆栈的代码,所以产生的可执行文件大小会比较大。__cdecl可以写成_cdecl。
__stdcall调用约定用于调用Win32 API函数。采用__stdcall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,函数参数个数固定。由于函数体本身 知道传进来的参数个数,因此被调用的函数可以在返回前用一条ret n指令直接清理传递参数的堆栈。__stdcall可以写成_stdcall。

转载于:https://www.cnblogs.com/JczmDeveloper/p/3527312.html

你可能感兴趣的文章
从微信小程序开发者工具源码看实现原理(二)- - 小程序技术实现
查看>>
从微信小程序开发者工具源码看实现原理(四)- - 自适应布局
查看>>
微信小程序捕获async/await函数异常实践
查看>>
聊聊JavaScript异步中的macrotask和microtask
查看>>
利用AND和OR的运算规则进行SQL注入
查看>>
HTMLTestRunner用法
查看>>
为什么要做WebUI测试?
查看>>
接口签名
查看>>
OSI七层协议与TCP/IP四层协议
查看>>
turtle风轮绘制
查看>>
接口签名2
查看>>
递归科赫雪花
查看>>
字符串格式化与.format()
查看>>
统计文本中特定词汇的出现频率
查看>>
汉诺塔递归函数hanoi
查看>>
jieba+wordcloud+imageio—自定义词云
查看>>
wordcloud—词云的表示方法
查看>>
2019-08-29开始——光网络
查看>>
解决sublime安装插件被墙失败的方法
查看>>
CentOS 安装jira 6.3.6
查看>>