【发布时间】:2010-11-07 12:04:35
【问题描述】:
.NET 中的应用程序是否需要以 64 位构建才能充分利用具有 64 位操作系统的机器,或者它是否会像 32 位构建一样利用它。基本上,我们遇到了内存不足异常的问题,建议在 64 位机器上运行控制台应用程序,这“可能”解决了这个问题。问题是我们可以直接启动一个 64 位框并将当前应用程序放在上面,还是我需要以 64 位方式重建应用程序。
【问题讨论】:
标签: c# .net build 64-bit 32-bit
.NET 中的应用程序是否需要以 64 位构建才能充分利用具有 64 位操作系统的机器,或者它是否会像 32 位构建一样利用它。基本上,我们遇到了内存不足异常的问题,建议在 64 位机器上运行控制台应用程序,这“可能”解决了这个问题。问题是我们可以直接启动一个 64 位框并将当前应用程序放在上面,还是我需要以 64 位方式重建应用程序。
【问题讨论】:
标签: c# .net build 64-bit 32-bit
“任何 CPU”是你的朋友。
顺便说一句:
我们有一个特别大的Trie 结构,超过了 32 位 Windows 的 2GB 内存空间。由于大部分结构由对象引用组成,我们发现应用程序的内存需求在迁移到 64 位时几乎翻了一番,大约需要 4GB。这是因为存储引用的内存是 64 位宽而不是 32 位。
【讨论】:
如果它是为任何平台构建的(默认),它将在 64 位操作系统上以 64 位运行。
话虽如此,仍有潜在的问题需要注意。如果您与本机代码交互(通过 p/invoke、C++/CLI 或 COM),则需要将该代码移植到 64 位。如果应用程序是 100% 托管的,它就可以正常工作。
【讨论】:
【讨论】: