.Net 64 位应用程序
编译应用程序时,您可以将其指定为在 Windows 64 位操作系统上作为本机应用程序或在 WOW64(Windows 64 位下的 Windows 32 位)下运行。
WOW64 是一种兼容性环境,它使 32 位应用能够在 64 位系统上运行。 WOW64 包括在所有 64 位版本的 Windows 操作系统中。
在 Windows 上运行 32 位与64 位应用程序
在 64 位操作系统上,所有基于 .NET Framework 1.0 或 1.1 生成的应用程序都会被视为 32 位应用程序,并始终在 WOW64 和 32 位公共语言运行时 (CLR) 下执行。
基于 .NET Framework 4 或更高版本生成的 32 位应用程序也可以在 64 位系统上的 WOW64 下运行。
在 x86 计算机上,Visual Studio 会安装 32 位版本的 CLR,而在 64 位 Windows 计算机上会同时安装 32 位版本和适当的 64 位版本的 CLR。
(因为 Visual Studio 是一个 32 位应用程序,所以当安装到 64 位系统上时,它会在 WOW64 下运行。)
备注
由于 Itanium 处理器系列的 x86 仿真和 WOW64 子系统设计,仅限在一个处理器上执行应用程序。 这些因素会降低在基于 Itanium 的系统上运行的 32 位 .NET Framework 应用程序的性能和可伸缩性。 我们建议你使用 .NET Framework 4,它包括对基于 Itanium 的系统的本机 64 位支持,以提升性能和可伸缩性。
默认情况下,在 64 位 Windows 操作系统上运行 64 位托管应用程序时,您可以创建一个不超过 2 GB 的对象。
然而,在 .NET Framework 4.5 中,你可以增加该限制。 有关详细信息,请参阅 <gcAllowVeryLargeObjects> 元素。
很多程序集可在 32 位 CLR 和 64 位 CLR 上同样运行。 然而,因为包含下列一个或多个原因,对于不同的 CLR,有些程序可能会有不同表现:
-
结构中包含大小随平台而改变的成员,例如任何指针类型。
-
指针算术包含固定大小。
-
平台调用错误,或使用句柄的
Int32
而非IntPtr
的 COM 声明不正确。 -
将
IntPtr
转换到Int32
的代码。
有关如何移植 32 位应用程序以使其在 64 位 CLR 上运行的详细信息,请参阅将 32 位托管代码迁移至 64 位。
常规 64 位编程信息
有关 64 位编程的常规信息,请参阅以下文档:
-
在 Windows SDK 文档中,请参阅 64 位 Windows 编程指南。
-
有关 Visual Studio 对创建 64 位应用程序提供的支持的信息,请参阅 Visual Studio IDE 64 位支持。
南来地,北往的,上班的,下岗的,走过路过不要错过!
======================个性签名=====================
之前认为Apple 的iOS 设计的要比 Android 稳定,我错了吗?
下载的许多客户端程序/游戏程序,经常会Crash,是程序写的不好(内存泄漏?刚启动也会吗?)还是iOS本身的不稳定!!!
如果在Android手机中可以简单联接到ddms,就可以查看系统log,很容易看到程序为什么出错,在iPhone中如何得知呢?试试Organizer吧,分析一下Device logs,也许有用.