2008-11-26 23 views

回答

1

我想你的意思是在你的问题中的任何CPU,是否正确?假设情况是这样的话,几乎在所有情况下都要遵循约束而不考虑位数。

回想一下,.NET代码JITed(及时编译) - 这意味着32位和64位代码了C#或VB.NET编译器是相同的,无论您打算什么架构上运行。当代码在运行时被JITed时,它变成了32或64位。

在某些情况下,您必须介意目标架构。一个特定的情况是对COM-包装器DLL,.NET Framework提供的或其他的任何引用/依赖关系。这是因为如果这些DLL文件未被标记为32位,那么这些DLL文件将被标记(在COM的情况下)为仅32位(如COM是32位唯一架构),则与COM的互操作将不起作用。因此,由于它们被明确标记,您的项目产出也应该如此。

+0

那么为什么框架中有64位和32位的DLL。他们是否预先优化了JITed?或者它们是否经过优化以调用32位/ 4位“WIN32”API? – 2008-11-26 06:42:34

相关问题