【发布时间】:2015-01-18 05:10:00
【问题描述】:
我了解到,一个工作的 32 位 C# Windows(或控制台)应用程序在为 64 位编译时可能会表现出不同的功能行为(通过在 Visual工作室 2013)。更多详情请见:What causes significant loss of FP precision when compiling for 64-bit?
惊讶于需要进行多次代码更改(以创建在编译为 32 位或 64 位时功能等效的代码),我在此询问具体问题是否有人来解决其他问题,这些问题需要更改现有 C# 代码才能使其作为 64 位应用程序正常运行。
注意:在这两种情况下,都使用 Windows 7(或更高版本)64 位作为操作系统。
【问题讨论】:
-
这在很大程度上取决于代码和依赖项。一个很好的例子是 Int32 的使用。即使在 64 位版本中,这是否应该是 32 位值?不安全的代码通常需要特别注意,尤其是在使用指针时。
-
我不同意......算术类型应该独立于 32 位或 64 位的编译。算术不变。如果您的算术需要 64 位整数,请使用 'long' (Int64) ... JIT 编译器必须解决它。
-
我没有谈论算术。
标签: c# .net 32bit-64bit