作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我正在创建一个 MSI,用于在 x64 系统上安装我的 .net 编写的 (C#) 软件。这是必要的,因为我生成了一些注册表项并且我不想以编程方式决定我必须指向哪个注册表路径(避免 WOW6432 节点)。
在此期间,我问自己,是否有必要明确地为 x64 系统编译我的软件(运行配置“x64”)。目前,我总是在与“任何 CPU”无关的 Visual Studio 平台中编译我的软件。在我的源代码中,我没有区分 x64 和 x86。
CIL 代码由 JIT 编译器编译,所以我认为它会在运行时将其显式编译为 64 位,还是我错了?
在 visual studio 中显式“x64”编译和平台不可知编译之间有什么区别?x64 标志如何影响编译?
最佳答案
如果您的程序(使用任何 CPU)在 64 位平台上启动,它将以 64 位模式启动。这通常会非常有效 - 如果您的程序依赖于 native 库只有 32 位版本可用,则异常(exception)。然后,当调用它时,它将无法加载该库(因此任何问题可能不会立即显现)。
也可以在运行时使用标志强制 32 位模式。
关于c# - 使用 .net 为 x64 显式编译是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14746279/
我是一名优秀的程序员,十分优秀!