百科问答小站 logo
百科问答小站 font logo



程序中的堆和栈大小是动态变化的,还是相对固定的? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

堆和栈的大小在加载的时候是确定的,但也是可以调整的,是否允许动态调整完全看操作系统是否支持。

所以,两个问题:

1. 你用的OS是什么?
2. 你用的开发语言是什么?

栈是面向于线程的,堆有可能是整个进程共用的,也可能是有好几个堆,每个线程用各自的。

Windows里MSDN有讲:

       BOOL WINAPI SetThreadStackGuarantee(   __inout  PULONG StackSizeInBytes );      

StackSizeInBytes
The size of the stack, in bytes. On return, this value is set to the size of the previous stack, in bytes.
If this parameter is 0 (zero), the function succeeds and the parameter contains the size of the current stack.
If the specified size is less than the current size, the function succeeds but ignores this request. Therefore, you cannot use this function to reduce the size of the stack.
This value cannot be larger than the reserved stack size.





  

相关话题

  cygwin和mingw选哪个? 
  不同编程语言的程序员之间有鄙视链么? 
  那些编程水平很高的程序员是怎么训练出来的? 
  既然有 HTTP 请求,为什么还要用 RPC 调用? 
  内存为啥要分堆栈在编程里,要是全部只用堆或者全部只用栈,行不行? 
  Windows自带的文本编辑器原理? 
  孩子一年级成绩不理想,朋友建议可以学学少儿编程,学习少儿编程对提高孩子的逻辑思维能力真的有帮助吗? 
  请问一个程序员应该怎样才能学会编写带GUI的程序? 
  作为程序员,是什么让你坚持不懈地学习?难道不累吗? 
  有哪些算法惊艳到了你? 

前一个讨论
普通人骑自行车的时速多少?
下一个讨论
操作系统中到底是谁分配的资源?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利