“在 p/invoke 调用方面存在一些问题,并不总是在 32/64 下工作,托管 DirectX 在 64 位下也不能很好地工作,但总的来说,我认为人们将要做的事情随着时间的推移更多。”
在 .net 中,这是由设置了 AnyCPU 标志引起的。 x64 机器上的 AnyCPU 将作为 x64 进程运行该进程,当尝试调用/加载 32 位 dll 时,该进程会爆炸。由于这些库是 32 位的,您需要将构建设置为 x86,以确保应用程序将作为 x86 进程运行,如果在 x64 机器上它将在 WoW 中运行。
签名的驱动程序。不再出现“未知设备驱动程序”蓝屏,找出导致问题的驱动程序,并正确归咎于他们的崩溃。
签名的驱动程序也意味着驱动程序是最新的。过去每 2-3 年更新一次驱动程序的制造商必须获得签名/认证。这意味着驱动程序相对较新,并且必须通过 Microsoft 的基本“这完全是垃圾”测试。
我一直认为这种“缺乏驱动程序支持”是一种恩惠。强制制造商认证。
更多地址空间。其他人提到这允许更多的 RAM,这是真的。但它对内存管理性能的影响更大。这也意味着系统将完全使用 4 gigs RAM 和 512MB 的显卡。在 32 位操作系统上,系统必须在有限的地址中决定哪些硬件获得什么范围,物理 RAM 丢失。
那么总是有可能使用超过 4 gigs 的 RAM,当你有很多虚拟机时很有用
x64 Vista 在引导期间将核心操作系统进程/服务加载到随机地址中。给一些漏洞利用 1/256 的机会选择正确的内存位置,而不是在 32 台机器上 100%。
没有内核补丁。没有。纳达。齐尔奇。这确实意味着某些 Sysinternal 工具无法工作,但这意味着 xyz 间谍软件/病毒不能恶意应用与 sysinternals 相同的技术来永久隐藏、拦截呼叫等(这也是一些防病毒软件无法使用的原因......作为病毒)