A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

经常把堆栈记混了,buffer是缓冲区的意思吗?我记得学习汇编的时候好像用过这个东西。

5 个回复

倒序浏览
在下也学过汇编 大家研究下
1.你可以用汇编指令制定内存里面的一段为堆栈区 从而实现先进后出的数据操作 通常 局部变量和函数的实参都是压堆栈传递的(好像是编译原理里面讲得)

堆 就是一般的内存呗 你要就操作系统说 操作系统就分内存给你

buffer的意义更高一级把 例如你下载东西到磁盘 需要在内存里面弄buffer buffer到一定程度 在把buffer数据放磁盘里面 然后buffer清空 接着装数据
回复 使用道具 举报
好高深的样子。
回复 使用道具 举报
同问 ,内存中到底分了多少块区域啊
回复 使用道具 举报
堆是放对象,站是放成员变量,数组,字符串等,另外还有一个常量区
回复 使用道具 举报
根据在下对汇编底层的理解,其实内存就是分2块 普通内存 和 堆栈区 普通内存就是直接访问就是了 在汇编这个层面是不存在分不分配内存的 只要知道哪些内存地址没人用就好了 分配内存是基于操作系统的程序这一层的说法。

堆栈在汇编里面是指定一块连续的内存区域 作为单独的堆栈区内存来使用 是有专门的 push pop汇编指令来操作的

根据编译原理的学习 临时变量 和 函数的参数的传递 都是通过堆栈区的传递的 因为用的时间短 用完pop就OK了 而全局变量而言 则是 直接赋值倒某一普通内存单元(堆)对象实例也是这么操作的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马