【问题标题】:Possible drawbacks of gcAllowVeryLargeObjects?gcAllowVeryLargeObjects 的可能缺点?
【发布时间】:2015-09-18 08:18:07
【问题描述】:

在几次 outOfMemory 异常之后,我启用了“gcAllowVeryLargeObjects”,它工作得非常好。我现在想知道为什么它不是 C# 中的默认选项(在 64 位平台上)。

是出于纯粹的兼容性原因吗?还是我错过了 gcAllowVeryLargeObjects 的一个主要缺点?

【问题讨论】:

标签: c# out-of-memory gcallowverylargeobjects


【解决方案1】:

MSDN 说:

在启用此功能之前,请确保您的应用程序不包含假定所有数组大小都小于 2 GB 的不安全代码。例如,使用数组作为缓冲区的不安全代码如果是在假设数组不会超过 2 GB 的情况下编写的,则可能容易出现缓冲区溢出。

所以只要你不使用unsafe代码,就没有缺点。

【讨论】:

  • “假定所有数组的大小都小于 2 GB”的不安全代码是什么样子的?
  • @springy76:让p1指向数组中的一个点,p2指向另一个点,然后(int)(p2 - p1)
猜你喜欢
  • 1970-01-01
  • 2014-06-06
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多