2008-11-26 24 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

相關問題