3

目前,我正在创建一个 MSI,用于在 x64 系统上安装我的 .net 编写的 (C#) 软件。这是必要的,因为我生成了一些注册表项,并且我不想以编程方式决定我必须指向哪个注册表路径(避免 WOW6432 节点)。

在此期间,我问自己,是否有必要为 x64 系统(运行配置“x64”)显式编译我的软件。目前,我总是在 Visual Studio 平台上编译我的软件,与“任何 CPU”无关。在我的源代码中,我不区分 x64 和 x86。

CIL 代码由 JIT 编译器编译,所以我认为它会在运行时显式编译为 64 位,还是我错了?

Visual Studio 中显式的“x64”编译和与平台无关的编译之间有什么区别?x64 标志如何影响编译?

4

1 回答 1

2

如果您的程序(使用任何 CPU)在 64 位平台上启动,它将以 64 位模式启动。这通常会很好地工作 - 例外情况是,如果您的程序依赖于只有 32 位版本可用的本机库。然后,当调用它时,它将无法加载该库(因此任何问题都可能不会立即显现)。

也可以在运行时使用标志强制 32 位模式。

于 2013-02-07T08:13:27.620 回答