函数参数传递笔记 2017-7-2
2017-07-02 23:34
351 查看
调试函数参数的有一个较好的办法,在call函数调用之前查看ESP指向的内容,也就是栈顶,此时的栈顶存放的就是函数参数了。
在Windows下从栈顶向下依次是函数从左到右的参数。
在Linux下通过寄存器传参。从左向右的顺序是rdi rsi ,rdx,rcx,r8,r9,对于超出6个以上的函数参数,被放置在栈中,放置方式和Windows中一样,从调用前的栈顶向下看即可。函数开始执行的时候是压入返回地址。然后跳转执行。
在Windows下从栈顶向下依次是函数从左到右的参数。
在Linux下通过寄存器传参。从左向右的顺序是rdi rsi ,rdx,rcx,r8,r9,对于超出6个以上的函数参数,被放置在栈中,放置方式和Windows中一样,从调用前的栈顶向下看即可。函数开始执行的时候是压入返回地址。然后跳转执行。
相关文章推荐
- Python学习笔记(四)-- 函数中的参数传递
- Python学习笔记7-把函数当参数传递、指定可变参数
- 函数传递const和非const非引用参数的笔记 - 20150905
- 高程笔记-ECMAScript中的所有函数的参数都是按值传递的
- c++课堂笔记——函数参数的三种传递方式
- Python学习笔记7-把函数当参数传递、指定可变参数
- Python学习笔记7-把函数当参数传递、指定可变参数
- 逆向工程核心原理学习笔记(十六):栈帧3:add()函数参数传递与调用
- Python学习笔记7-把函数当参数传递、指定可变参数
- python学习笔记11(函数二): 参数的传递、变量的作用域
- 【C++笔记】函数中参数传递
- 【C++学习笔记】函数基础和参数传递
- python学习笔记-(13)python中的函数参数传递
- C语言学习笔记 (005) - 二维数组作为函数参数传递剖析
- C++ Primer 学习笔记_21_函数 --函数定义、参数传递
- python入门笔记--函数中参数传递
- 自学笔记の函数的参数传递
- Python3学习笔记05-字典、文件输入输出、模块、函数参数传递
- C++ primer学习笔记_6_函数---函数定义、参数传递
- 今天才搞清楚:原来在C#中对象作函数参数,是引用传递:)