gpt4 book ai didi

c++ - 某个程序的堆栈内存有多大,是否有任何编译器标志可以设置它?

转载 作者:IT王子 更新时间:2023-10-28 23:33:26 26 4
gpt4 key购买 nike

正如标题所述:关于堆栈大小是否有任何一般的“经验法则”。我猜大小会因操作系统、架构、缓存大小、可用 RAM 大小等而有所不同。

但是一般来说可以说什么,或者有什么方法可以找出,这个程序允许使用多少堆栈?。作为一个额外的问题,是否有任何方法(使用编译器标志等(这里主要考虑 C/C++,但也更通用))堆栈的大小可以由用户设置为固定大小?

顺便说一句,我完全出于好奇而问,我没有堆栈溢出。 :)

最佳答案

在 Windows 中,线程的默认堆栈大小为一百万字节,与操作系统等无关。

在托管代码(C#、VB 等)中,您可以使用此 ctor 强制新线程具有不同的堆栈大小:

http://msdn.microsoft.com/en-us/library/5cykbwz4.aspx

要更改 Windows 程序的默认线程的堆栈大小,无论是否托管,都可以使用 editbin 实用程序:

http://msdn.microsoft.com/en-us/library/xd3shwhf.aspx

关于c++ - 某个程序的堆栈内存有多大,是否有任何编译器标志可以设置它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15329281/

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