在 64 位平台上,启用总大小大于 2 GB(GB)的数组。
<配置>
<运行时>
<gcAllowVeryLargeObjects>
Syntax
<gcAllowVeryLargeObjects enabled="true|false" />
特性
| Attribute | Description |
|---|---|
enabled |
必需属性。 指定是否在 64 位平台上启用大于 2 GB 的总大小的数组。 |
enabled 属性
| 价值 | Description |
|---|---|
false |
未启用总大小大于 2 GB 的数组。 这是默认情况。 |
true |
在 64 位平台上启用大小大于 2 GB 的数组。 |
子元素
没有。
父元素
| 元素 | Description |
|---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
runtime |
包含有关运行时初始化选项的信息。 |
注解
在 应用程序配置文件 中使用此元素可以启用大小超过 2 GB 但不会更改对象大小或数组大小的其他限制:
数组中元素的最大数目为 UInt32.MaxValue。
任何单个维度的最大大小为 2,147,483,591(0x7FFFFFC7),用于字节数组和单字节结构的数组,对于包含其他类型的数组,最大大小为 2,146,435,071 (0X7FEFFFFF)。
字符串和其他非数组对象的最大大小保持不变。
注意
在启用此功能之前,请确保应用程序不包含不安全的代码,该代码假定所有数组的大小都小于 2 GB。 例如,如果根据数组不会超过 2 GB 的假设编写,将数组用作缓冲区的不安全代码可能会容易受到缓冲区溢出的影响。
Example
以下 app.config 文件片段演示如何为 .NET Framework 应用程序启用此功能。
<configuration>
<runtime>
<gcAllowVeryLargeObjects enabled="true" />
</runtime>
</configuration>
受支持
.NET Framework 4.5 及更高版本