_stdcall, _cdecl的用法与区别
来源:互联网 发布:linux创建文件夹进入 编辑:程序博客网 时间:2024/05/17 01:29
①_stdcall调用
_stdcall调用是Pascal程序的缺省调用方式,此种调用采用参数从右到左的压栈方式,被调用函数自身在返回前清空堆栈。Windows API 都采用这种调用方式(#define WINAPI _stdcall)。
如果按照C编译方式,输出函数名前面加上下划线,后面加上符号@和参数的字节数。
②_cdecl调用
_cdecl调用是C/C++的缺省调用方式,参数采用从右到左的压栈方式,参数的栈内存由调用者维护。_cdecl函数只能被C/C++调用,调用函数中包含清空栈内存的代码,所以调用_cdecl函数生成的执行文件会比调用_stdcall函数生成的执行文件大。
由于_cdecl的参数内存栈由调用函数维护,所以变长参数的函数只能为_cdecl调用。
VC++默认采用_cdecl调用方式。
按C编译方式,仅仅在输出函数名前加上下划线。
0 0
- _stdcall, _cdecl的用法与区别
- _stdcall与_cdecl的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与_cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall 与 _cdecl 的区别
- _stdcall与_cdecl的区别
- _stdcall与_cdecl的区别
- _stdcall与_cdecl的区别
- _stdcall与_cdecl的区别
- _stdcall与_cdecl的区别
- 第36题 Compare Version Numbers
- mysql中文乱码的一点理解
- 美女图片站的简单制作过程
- VC6.0打开文件以及向工程中添加文件时程序崩溃自动退出
- 【c++11】override(重写)与final(最终)
- _stdcall, _cdecl的用法与区别
- SQL Server自动生成拼音首字母!!!
- ios 退出app
- 一个问题,学习笔记
- 如何迈过职业生涯的5个坎
- cocos2dx 3.2 自定义C++绑定Lua脚本问题
- 非标准maven工程的resource资源提交
- 右值引用 移动语义 完美转发
- 设置PowerPoint 2013里面图片不自行压缩