社区
汇编语言
帖子详情
win32下栈的增长方式
likywind
2007-04-18 06:33:44
在win32下,当调用函数时,所分配的栈空间是向低地址空间增长的,即push ebp
mov ebp,esp
sub esp,.....
也就是说主线程(进程)是处于高地址段的,但是操作系统的运行在低地址段,他为应用程序分配的内存空间也应该是由低地址向高地址增长的,时不时与栈向矛盾!
...全文
343
5
打赏
收藏
win32下栈的增长方式
在win32下,当调用函数时,所分配的栈空间是向低地址空间增长的,即push ebp mov ebp,esp sub esp,..... 也就是说主线程(进程)是处于高地址段的,但是操作系统的运行在低地址段,他为应用程序分配的内存空间也应该是由低地址向高地址增长的,时不时与栈向矛盾!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bsky01
2007-09-27
打赏
举报
回复
调用一个无限的递归函数会导致“栈溢出”,我曾经遇到过。
likywind
2007-09-25
打赏
举报
回复
win32下如何查看栈的大小呢?
czlyc006
2007-04-20
打赏
举报
回复
不是无限的,有“栈溢出”这么一说
likywind
2007-04-20
打赏
举报
回复
可是在反汇编的c中,代码和栈都是向高地址扩展的,现在我不明白的是,栈是不是可以无限的向下增长!希望回答
LQ20954758
2007-04-18
打赏
举报
回复
堆栈段是向下扩展的,也就是说,每次你的代码段中执行保存数据的操作的时候,要保存的数据是从高位到低位的。栈只是用来保存的读取指令要求的保存或者读取的数据的作用。
执行的指令是放在代码段的,代码段的里面的每一个存储单元存储的是指令和指令操作数。代码段是向上扩展的,也就是说取出线性地址0位置存储单元的内容执行后,有开始取线性地址1的位置的内容出来执行。
所以说不矛盾。
Word(WPS文字)+Python
win32
com办公自动化
本课程主要结合Python
win32
com包介绍Word(WPS文字)办公自动化的各种方法。相关内容包括Python语言基础、Word对象包括文档、Range、段落、节、域、页眉页脚、书签、表格、图形、图表、正则表达式等。使用
win32
com,...
STM32 大小端模式 与 堆栈及其
增长
方向分析
在开源电子中看到一篇文章讲的是栈
增长
和大端/小端问题。学C语言的时候,我们知道堆栈的区别: 1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作
方式
类似 于数据结构中的栈。 (2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配
方式
类似于数据结构中的链表。 (3)全局区(静态区)(static):全
[
Win32
]一个调试器的实现(十一)显示函数调用栈
本文讲解如何在调试器中显示函数调用栈,如下图所示: 原理 首先我们来看一下显示调用栈所依据的原理。每个线程都有一个栈结构,用来记录函数的调用过程,这个栈是由高地址向低地址
增长
的,即栈底的地址比栈顶的地址大。ESP寄存器的值是栈顶的地址,通过增加或减小ESP的值可以缩减或扩大栈的大小。上一篇文章已经简略地介绍过在调用函数时线程栈上会发生什么事情,现在我们再来详细地看看这个过程:
windows的用户栈和内核栈
windows的用户栈和内核栈 1、简介 普通的
Win32
线程有两个栈:一个是用户栈,另一个是内核栈;而如果是内核中创建的系统工作线程,则只有内核栈。只要代码在内核中运行,线程就一定是使用其内核栈的。栈的主要作用是维护函数调用帧,以及为局部变量提供空间。 在Windows里,一个线程的用户空间的信息都记录在了TEB中,而TEB中又有一个域叫做NtT
Windows栈大小
一般来说,我们所用的内存有堆和栈之分,其余的我们很少控制,栈的速度快,但是空间少,不灵活;而堆的空间几乎可以满足任何要求:灵活,但是相对速度要满了很多,并且在VC中堆是人为控制的,new了就要delete,否则很容易产生内存泄漏等问题; OS 栈的字节数 bits digits 以兆为单位的值 Linux 8192K <=62407 <= 18786 默认8M
汇编语言
21,458
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章