Memory management 内存映射中的堆栈大小

Memory management 内存映射中的堆栈大小,memory-management,size,stack,Memory Management,Size,Stack,我从与堆栈相关的特定进程的内存映射中得到一行: bfda1000-bfdc2000 rw-p 00000000 00:00 0 [stack] 我可以看到,堆栈开头的两个十六进制数是堆栈的开始和结束逻辑地址。但我怎么知道堆栈上每行的大小,然后确定堆栈的总大小呢。谢谢。好的,那么初始进程线程需要128K堆栈。我不明白关于行的第二点?我将地址(bfdc2000-bfda1000)分为两部分,得到21000h。要找到堆栈的大小,我是否应该进行以下计算:21000hx(堆栈中每行的大小)?或者更清楚地

我从与堆栈相关的特定进程的内存映射中得到一行:

bfda1000-bfdc2000 rw-p 00000000 00:00 0 [stack]

我可以看到,堆栈开头的两个十六进制数是堆栈的开始和结束逻辑地址。但我怎么知道堆栈上每行的大小,然后确定堆栈的总大小呢。谢谢。

好的,那么初始进程线程需要128K堆栈。我不明白关于行的第二点?我将地址(bfdc2000-bfda1000)分为两部分,得到21000h。要找到堆栈的大小,我是否应该进行以下计算:21000hx(堆栈中每行的大小)?或者更清楚地说,你怎么能看到它的大小是128K?这是我问题的主要目的。谢谢,我只是看了一下极限,减去它们,得到了20000,(我读错了下限,读了/假设是bfda2000),这是64K的两倍,所以是128K。通常,在链接器脚本中提供的堆栈大小是字节,而不是字,例如,如果堆栈是20000,那么就有足够的空间容纳128K字节或32K 32位字(尽管您应该仔细查看链接器手册)。好的,我知道了。谢谢你的时间,马丁。