百科问答小站 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.





  

相关话题

  golang,告警业务,每个告警源都有不同的分发频率,告警源可能新增or删除,该如何设计? 
  程序员为什么要一直写bug ,不能一次性写好吗? 
  什么理由让代码保存为GBK? 
  为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途? 
  为什么python整数除法运算得浮点数? 
  用 vim 能写大型程序吗? 
  为什么计算机采用补码而不是原码或反码? 
  你在写程序的时候经历过哪些有趣的事? 
  为什么这么使用 C 语言 fgetc() 函数会出现乱码? 
  为什么下载的安装包都需要安装才能用,而不是可以直接用呢,安装的过程到底是在做什么? 

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





© 2025-06-15 - tinynew.org. All Rights Reserved.
© 2025-06-15 - tinynew.org. 保留所有权利