c++内存模型------计算机系统核心概念及软硬件实现
来源:互联网 发布:千金方医药软件 编辑:程序博客网 时间:2024/06/06 15:45
c++编程语言有3中不同类项的变量:全局变量、局部变量和动态分配变量。变量的值存储在计算机的内存中,但是变量存储的方式取决于变量的类项。3种类型的变量分别对应存储器中3个特定的区域:
- 全局变量存放在存储器中的固定位置。
- 局部变量存放在运行时栈上。
- 动态分配变量存放在堆上。
全局变量的声明在所有函数的外面,在程序的执行过程中位置保持不变。局部变量在函数中声明,函数被调用时它们出现,函数结束时他们消失。动态分配变量随着new运算符的执行出现,随着delete运算符的执行消失。
栈是一个值的容器,通过压入(push)操作存入值,通过弹出(pop)操作取出值。存入和取出值的原则都是后进先出(弹出最后一个压入的值),所以有时候栈被称为LIFO表,Last In ,First Out
每条执行的c++语句是一个函数的一部分。c++函数有一个返回类型、一个名字和一个参数表。程序包括一个名为main的特殊函数。通过执行main函数中的语句来执行程序。main函数中的语句有可能掉用另一个函数。当执行一个函数时,按照如下顺序对运行时栈的空间进行分配:
- 压入返回值的存储空间。
- 压入参数。
- 压入返回地址。
- 压入局部变量的存储空间。
当函数结束时,按照相反的顺序释放运行时栈的存储空间
- 释放局部变量。
- 弹出返回地址,根据返回地址确定要执行的下一条语句。
- 释放参数。
- 弹出返回值,按照调用语句指定方式进行使用。
不管一个函数是main函数,还是在另一个函数中被一条语句调用的函数,都会执行这些步骤。
计算机系统核心概念及软硬件实现
转载请注明出处
阅读全文
0 0
- c++内存模型------计算机系统核心概念及软硬件实现
- Java内存模型(JMM)核心概念总结
- JMM(Java内存模型)中的核心概念
- JMM(Java内存模型)中的核心概念
- Shark的概念模型及实现模型(部分)
- 计算机内存模型概念
- 简述Java内存模型的由来、概念及语义
- Reinforcement Learning 的核心基础概念及实现
- Linux C内存模型及管理
- C语言内存模型及运行时内存布局
- C语言内存模型及运行时内存布局
- 《JavaScript核心概念及实践》
- tomcat核心概念及应用
- java内存模型(概念 )
- java内存模型相关概念
- NIO核心概念及基本读写及缓冲区的内部实现机制
- qemu 内存模型(内存仿真概念)
- qemu 内存模型(内存仿真概念)
- PHP 格式化字符串函数:addslashes()和stripslashes()
- 数据类型之 列表、字典、元组
- 数据结构 图的初始化
- 3.Json获取值的方式是data.key
- 关于php的cgi,php-fpm的关系
- c++内存模型------计算机系统核心概念及软硬件实现
- dhcp6c
- Android 一一 Intent在活动之间穿梭
- Cookie的跨域共享
- 算法排序(3):选择排序
- Prime Path
- Ajax的Post提交与Get提交的不同方式
- 51Nod 1445
- Codeforces812C Sagheer and Nubian Market(贪心+二分)