gpt4 book ai didi

c++ - 当从堆栈到堆更好时,合理的指示大小是多少?

转载 作者:IT老高 更新时间:2023-10-28 23:15:09 26 4
gpt4 key购买 nike

WCHAR bitmapPathBuffer[512]

可以进行堆栈分配吗?或者这个大小最好使用堆?当从一个堆栈到另一个堆栈更好时,什么是合理的指示大小......所有人都说“依赖”,但我们的大脑需要一些限制来确定方向。

最佳答案

您可能想要检查系统的默认堆栈大小,并考虑您的应用程序对递归的任何使用,以达到某个合理的阈值。

无论如何,对于典型的台式机,我认为将 ~100kb 放入堆栈是合理的,因为这些函数不会在没有任何异常考虑的情况下被递归调用(在看到下面的 Windows 限制性之后,我不得不向下修改) .您可能能够在特定系统上或多或少地提高一个数量级,但大约在那个时候您会开始关心检查您的系统限制。

如果你发现你在许多函数中都这样做,你最好仔细考虑这些函数是否可以相互调用,或者只是动态分配(最好通过使用 vector 隐式分配, string 等),不用担心。

100kb 指南基于 these default stack size numbers ripped from the 'net :

platform    default size    # bits  # digits
===============================================================
SunOS/Solaris 8172K bytes <=39875 <=12003 (Shared Version)
Linux 8172K bytes <=62407 <=18786
Windows 1024K bytes <=10581 <=3185 (Release Version)
cygwin 2048K bytes <=3630 <=1092

关于c++ - 当从堆栈到堆更好时,合理的指示大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24732609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com