49 .net c# clr stack
有人能告诉我C#中的堆栈容量是多少.
我正在尝试使用30,000个项目的数组形成3D网格闭合对象.
Bri*_*sen 71
.NET应用程序的默认堆栈大小为1 MB(对于32位ASP.NET应用程序,默认值为256 KB,对于64位ASP.NET应用程序,默认值为512 KB),但您可以更改它.对于应用程序,您可以通过修改可执行文件的PE头来更改默认大小.对于您创建的线程,您可以使用占用堆栈大小的构造函数重载.
但是正如Anton Tyjhyy在他的回答中指出的那样,数组是引用类型,因此位于堆上(即使数组碰巧拥有一堆值类型).
Ant*_*hyy 53
您的数组将存在于堆中,堆栈大小与您的情况无关.
Dav*_*ebb 29
堆栈大小是可配置的,可以通过几种不同的方式设置.
RBT*_*RBT 6
如果要检查当前.NET程序集的值,则可以使用ILDASMVisual Studio命令提示符附带的命令来进行检查。启动该工具后,打开装配体,然后转到View -> Headers菜单。现在向下滚动到PE Optional Header (32 bit)新打开的Headers窗口中的部分。您将看到两个字段:
ILDASM
View -> Headers
PE Optional Header (32 bit)
Headers
所述空间在操作系统的页面文件中保留,因此在必要时总是可以换出堆栈。
小智 5
要使用堆栈存储数组,您必须使用带有指针和stackalloc的不安全代码来在堆栈上分配所需的内存空间。
归档时间:
16 年,7 月 前
查看次数:
36944 次
最近记录:
6 年,8 月 前