_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

最新文章

  1. NVelocity
  2. XAF应用开发教程-内置Attribute功能列表
  3. 【数论+技巧】神奇的Noip模拟试题第二试 T1 素数统计
  4. Valid Parentheses
  5. ADF_Database Develop系列3_通过UML进行数据库开发之将Database Diagram转为Class Diagram
  6. Xamarin for Visual Studio 3.11.666 稳定版 破解补丁 Version 3
  7. php调试小技巧
  8. 转:sprintf与snprintf
  9. xss框架的一些想法
  10. [ext4]03 磁盘布局 – Flexible group分析
  11. Parade(单调队列优化dp)
  12. CSS3 动画及过渡详解
  13. 使用bootstrap本机调试时,应该使用本地服务器地址访问,如http://192.168.19.112/rjshop/,否则360浏览器会出现不兼容的情况
  14. 为什么delete指针后指针设为null(已解答)
  15. Django(九)admin相关知识
  16. 使用 OpenSessionInViewFilter 配置加载
  17. Java(1)JDK安装
  18. Oracel扩展表空间
  19. 更高效的MergeSort--稍微优化
  20. RHEL7--linux系统启动流程与故障排除

热门文章

  1. Codeforces Round #557 Div. 1 based on Forethought Future Cup - Final Round
  2. 在论坛中出现的比较难的sql问题:8(递归问题 树形结构分组)
  3. Window环境下使用多个Git账号(github,gitee,gitlab,gogs等)
  4. EDK2开发环境搭建
  5. 字蛛webfont 安装及使用方法
  6. json其实就是一种数据格式
  7. liunx mkisofs 命令的使用(制作iso)
  8. 如何在Web应用里消费SAP Leonardo的机器学习API
  9. Django中使用缓存
  10. Free lunch is over