正如标题所述:关于堆栈的大小是否有任何一般的“经验法则”。 我猜测大小会有所不同,具体取决于操作系统,体系结构,缓存大小,可用RAM数量等。
但是一般可以说什么,或者有没有办法找出,有多少堆栈, 这个程序是允许使用的? 作为一个额外的问题是有任何方式(使用编译器标志等(在这里主要考虑C / C ++,但也更通用))堆栈的大小可以由用户设置为固定大小?
顺便说一句,我严格要求出于好奇,我没有堆栈溢出。 ?
是的,你可以设置堆栈大小,它通常是一个链接器标志,它取决于你的工具链(通常这是由编译器的名称引用)。
您还可以在StackOverflow上找到几个现有问题。
在Windows中,无论操作系统如何,线程的默认堆栈大小都是一百万字节。
在托管代码(C#,VB等)中,您可以使用此ctor强制新线程具有不同的堆栈大小:
要更改Windows程序的默认线程的堆栈大小,无论是否管理,您都可以使用editbin实用程序:
需要了解更多c/c++开发分享某个程序的堆栈内存有多大,是否有可以设置它的编译器标志?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是c/c++开发分享某个程序的堆栈内存有多大,是否有可以设置它的编译器标志?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979291.html