Microsoft函数调用约定
Microsoft函数调用约定
对于所有调用共有的约定:ebx、ebp、esi、edi都是calle-save,即由被调用的函数负责它们的保存(如果被调用函数用到了这些寄存器的话) 先看函数调用发生了什么:(win32下) 具体的调用约定: 2、__stdcall 3、__fastcall 4、thiscall 5、naked 这篇文章把naked作为calling convention: http://www.cs.cornell.edu/courses/cs412/2001sp/resources/microsoft-calling-conventions.htm 但naked应该算不上调用约定了,只是单纯地将c/c++代码翻译成asm,连esp、ebp之间的保存、mov都没有就直接拿ebp来寻址了,函数结束后也不管ret,太naked了! 补充:c允许可变参数(例如printf),为了方便地使用这些函数,所以__cdecl要 函数调用约定的历史——16位的世界: 对所有的调用约定: 具体的调用约定 2、__pascal 3、__fortran 4、__fastcall |
最新文章
- JS 面向对象、prototype原型的克隆
- memcpy和memmove
- git 设置 key 到服务器,同步代码不需要输入用户名和密码
- 《深入理解计算机系统》 Chapter 7 读书笔记
- PL/SQL Developer使用技巧、快捷键
- 前端工程搭建NodeJs+gulp+bower
- Adobe Edge Animate –获取鼠标位置及跟随鼠标功能实现
- OS X Yosemite下安装Hadoop2.5.1伪分布式环境
- UIView的一些常用属性和方法
- [Attila GPU] ATTILA GPU Streamer Unit (D3D Input Assambler) 结构分析
- Android滑动控件.md
- choose the max from numbers, use scanf and if else (v1:21.9.2017,v2:23.9.2017)
- .Net Core应用框架Util介绍(四)
- mysql distinct()用法
- java.sql.SQLException: Access denied for user 'scott'@'localhost' (using password: YES)
- vs.code调试node.js的C++扩展
- vue.js及项目实战[笔记]— 01 vue.js
- SVN下载项目导入到eclipse中出现错误解决办法:
- .netCoreMVC添加数据仓储
- jmeter正则提取值 同级目录下的值
热门文章
- 分析Linux文件rwx属性的含义
- xml文件的schema也是经过jdk编译器编译的,如果xsd没引入完整,而xml中又用到了这些标签,就会编译不通过啊。
- [Javascript] Understanding the .constructor property on JavaScript Objects
- 单点登录cas常见问题(二) - 子系统是否会频繁訪问cas中心?
- RxJava系列之中的一个 初识Rxjava
- Asp.net MVC 简单分页 自做简单分页
- LeetCode题解汇总
- Python 离线等价类
- 1.NetDh框架之数据库操作层--Dapper简单封装,可支持多库实例、多种数据库类型等(附源码和示例代码)
- socket.io实现在线群聊