博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
_cdecl与_stdcall区别
阅读量:5238 次
发布时间:2019-06-14

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

_cdecl与_stdcall是最常用的的两种函数调用修饰,区别在于函数返回时,清理栈(恢复栈平衡)是caller做还是被调函数做。

1 4:    _cdecl int add1(int a, int b) 2 5:    { 3 00401020   push        ebp 4 00401021   mov         ebp,esp 5 00401023   sub         esp,40h 6 00401026   push        ebx 7 00401027   push        esi 8 00401028   push        edi 9 00401029   lea         edi,[ebp-40h]10 0040102C   mov         ecx,10h11 00401031   mov         eax,0CCCCCCCCh12 00401036   rep stos    dword ptr [edi]13 6:        return a+b;14 00401038   mov         eax,dword ptr [ebp+8]15 0040103B   add         eax,dword ptr [ebp+0Ch]16 7:    }17 0040103E   pop         edi18 0040103F   pop         esi19 00401040   pop         ebx20 00401041   mov         esp,ebp21 00401043   pop      ebp22 00401044   ret23 24 9:    _stdcall int add2(int a, int b)25 10:   {26 00401060   push        ebp27 00401061   mov         ebp,esp28 00401063   sub         esp,40h29 00401066   push        ebx30 00401067   push        esi31 00401068   push        edi32 00401069   lea         edi,[ebp-40h]33 0040106C   mov         ecx,10h34 00401071   mov         eax,0CCCCCCCCh35 00401076   rep stos    dword ptr [edi]36 11:       return a+b;37 00401078   mov         eax,dword ptr [ebp+8]38 0040107B   add         eax,dword ptr [ebp+0Ch]39 12:   }40 0040107E   pop         edi41 0040107F   pop         esi42 00401080   pop         ebx43 00401081   mov         esp,ebp44 00401083   pop         ebp45 00401084   ret         8

 

转载于:https://www.cnblogs.com/yuqiao-ray-vision/p/3771720.html

你可能感兴趣的文章
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
网络时间获取
查看>>
多线程实现资源共享的问题学习与总结
查看>>
Code as IaaS for Azure : Terraform 初步
查看>>
WebFrom 小程序【分页功能 】
查看>>
Learning-Python【26】:反射及内置方法
查看>>
day7--面向对象进阶(内含反射和item系列)
查看>>
Python深入01 特殊方法与多范式
查看>>
torch教程[1]用numpy实现三层全连接神经网络
查看>>
java实现哈弗曼树
查看>>
转:Web 测试的创作与调试技术
查看>>
转:apache 的mod-status
查看>>
转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
查看>>
结对编程博客
查看>>
IOS开发之----异常处理
查看>>
Java-静态代码块,构造代码块,构造函数
查看>>
sort equal 确保记录按照 input顺序来
查看>>
反射的作用
查看>>
Android——子线程操作主线程
查看>>
菜鸟程序员怎么才能提高自己的技术--(献给自己共勉)
查看>>