Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的假设可能是错误的,但我认为 JIT 编译的主要优点是允许 JIT 编译器为目标机器特定硬件编译的单个可分发文件。
如果是这样,那为什么编译 C# 时可以指定目标平台?
谢谢。
很多时候你不需要,默认就可以了。但是,在某些情况下,默认值Any CPU可能会导致问题。例如,如果您依赖于 32 位非托管 dll。如果您保留它Any CPU并尝试在 64 位系统上运行它,JITter 会将您的 .Net 代码构建为 64 位可执行文件,然后将无法成功加载 32 位依赖项。在其他情况下,能够指定平台也是有利的。另一个例子是当您构建一个应用程序时,您知道该应用程序将用于将非常大的数据集加载到内存中。如果这些数据集可能超出 32 位程序可用的虚拟地址空间,您可能需要指定您正在构建一个 64 位应用程序。
Any CPU