XSLT存档  

不及格的程序员-八神

 查看分类:  ASP.NET XML/XSLT JavaScripT   我的MSN空间Blog

.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 位编程的常规信息,请参阅以下文档:


 

posted on 2023-02-03 11:38  不及格的程序员-八神  阅读(55)  评论(0编辑  收藏  举报