如果我的 .NET 应用程序以 x86 平台为目标,它会在 AMD 芯片上正常运行吗?我知道它可以与 Intel 芯片一起使用,而且 Vista 64 能够以特殊模式运行 x86 应用程序,但我不知道其中有多少是硬件,有多少是操作系统。
我已经用 Intel 芯片在 Vista 64 上对其进行了测试,它运行良好,但我没有 AMD 机器来测试。
如果我的 .NET 应用程序以 x86 平台为目标,它会在 AMD 芯片上正常运行吗?我知道它可以与 Intel 芯片一起使用,而且 Vista 64 能够以特殊模式运行 x86 应用程序,但我不知道其中有多少是硬件,有多少是操作系统。
我已经用 Intel 芯片在 Vista 64 上对其进行了测试,它运行良好,但我没有 AMD 机器来测试。
是的 - 它们是二进制兼容的,否则它们不会成为彼此的替代品:)
除非您的意思是 IA64 与 AMD64 - 它们是不兼容的架构。
是的,它可以工作,但是它将作为 32 位进程而不是 64 位进程运行。抽象层是通过引入子系统在操作系统级别完成的。它被称为 Wow64(Windows 64 上的 Windows)。这允许 32 位进程在 64 位机器上本地运行。
如果您进行低级内核集成,它只会崩溃。可能是您没有使用 .Net 应用程序做的事情。
它会正常工作
这与 Intel 或 AMD 无关,它适用于相同硬件架构的所有品牌。32 位应用程序可以在 32 位操作系统和 64 位操作系统上运行。64 位应用程序只能在 64 位操作系统(和 64 位硬件)上运行。
这里的关键是 .NET 代码以 CLR 为目标,因此任何处理器级别的问题都应该在那里解决……我不确定这一点,但我相信 x86 / 64 的 CLR 有多个版本。