Chinaunix首页 | 论坛 | 博客
  • 博客访问: 202378
  • 博文数量: 80
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 824
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-12 21:40
个人简介

只有今天的埋头,才有明天的出头。

文章分类

全部博文(80)

文章存档

2014年(80)

我的朋友

分类: C/C++

2014-10-15 09:31:32

活动记录是函数调用时用于记录一系列相关信息的记录,包括:

临时变量域:用于存放临时变量的值。

局部变量域:用来存放函数本次执行中的局部变量。

机器状态域:用来保存调用函数之前机器状态的信息,包括各种寄存器的当前值和返回地址。

实参数域:用于存放函数得实参信息。

返回值域:为调用者函数存放返回值。

活动记录中保存了函数调用以及返回所需要的一切信息。

函数参数计算顺序由编译器决定,函数参数入栈顺序如何决定——调用约定

当一个函数被调用时,参数会传递给被调用的函数,而返回值会被返回给调用函数。函数得调用约

定就是描述参数怎么传递到栈空间的,以及栈空间由谁维护。

参数传递顺序:

从右到左依次入栈:__stdcall, __cdecl,__thiscal

从左到右依次入栈:__pascall, __fastcall

调用堆栈清理:

调用者清除栈。

被调用函数返回后清除栈。

调用约定是调用者和被调用者之间的调用协议,常用于不同开发者编写的库函数之间。

阅读(1385) | 评论(0) | 转发(0) |
0

上一篇:宏 vs 函数

下一篇:函数设计技巧

给主人留下些什么吧!~~