_cdecl与_stdcall区别
2024-09-04 06:08:53
_cdecl与_stdcall是最常用的的两种函数调用修饰,区别在于函数返回时,清理栈(恢复栈平衡)是caller做还是被调函数做。
: _cdecl int add1(int a, int b)
: {
push ebp
mov ebp,esp
sub esp,40h
push ebx
push esi
push edi
lea edi,[ebp-40h]
0040102C mov ecx,10h
mov eax,0CCCCCCCCh
rep stos dword ptr [edi]
: return a+b;
mov eax,dword ptr [ebp+]
0040103B add eax,dword ptr [ebp+0Ch]
: }
0040103E pop edi
0040103F pop esi
pop ebx
mov esp,ebp
pop ebp
00401044 ret : _stdcall int add2(int a, int b)
: {
push ebp
mov ebp,esp
sub esp,40h
push ebx
push esi
push edi
lea edi,[ebp-40h]
0040106C mov ecx,10h
mov eax,0CCCCCCCCh
rep stos dword ptr [edi]
: return a+b;
mov eax,dword ptr [ebp+]
0040107B add eax,dword ptr [ebp+0Ch]
: }
0040107E pop edi
0040107F pop esi
pop ebx
mov esp,ebp
pop ebp
45 00401084 ret 8
最新文章
- NVelocity
- XAF应用开发教程-内置Attribute功能列表
- 【数论+技巧】神奇的Noip模拟试题第二试 T1 素数统计
- Valid Parentheses
- ADF_Database Develop系列3_通过UML进行数据库开发之将Database Diagram转为Class Diagram
- Xamarin for Visual Studio 3.11.666 稳定版 破解补丁 Version 3
- php调试小技巧
- 转:sprintf与snprintf
- xss框架的一些想法
- [ext4]03 磁盘布局 – Flexible group分析
- Parade(单调队列优化dp)
- CSS3 动画及过渡详解
- 使用bootstrap本机调试时,应该使用本地服务器地址访问,如http://192.168.19.112/rjshop/,否则360浏览器会出现不兼容的情况
- 为什么delete指针后指针设为null(已解答)
- Django(九)admin相关知识
- 使用 OpenSessionInViewFilter 配置加载
- Java(1)JDK安装
- Oracel扩展表空间
- 更高效的MergeSort--稍微优化
- RHEL7--linux系统启动流程与故障排除
热门文章
- Codeforces Round #557 Div. 1 based on Forethought Future Cup - Final Round
- 在论坛中出现的比较难的sql问题:8(递归问题 树形结构分组)
- Window环境下使用多个Git账号(github,gitee,gitlab,gogs等)
- EDK2开发环境搭建
- 字蛛webfont 安装及使用方法
- json其实就是一种数据格式
- liunx mkisofs 命令的使用(制作iso)
- 如何在Web应用里消费SAP Leonardo的机器学习API
- Django中使用缓存
- Free lunch is over