2009-05-31 91 views
1

我知道一些「基本」的差異,但仍存在一些問題,在我的腦海:CPP/CLI程序集和CS/VB程序集有什麼區別?

  • 什麼是他們在運行時的性能差異? //這我真的很想知道。
  • 爲什麼不能使用C++/CLI構建MSIL程序集?
  • 什麼是MSIL/CIL程序集的PE代碼(不是.NET的PEKind)? (C++/CLI程序集具有與非託管二進制文件相同的PE代碼,對吧?)

感謝您的任何進一步的知識/答案。

+0

順便說一下,不要告訴我的項目經理我問了這個:P。 – Anzurio 2009-05-31 02:38:47

回答

1

C++/CLI程序集可以包含本地代碼,其潛在比託管代碼更高性能。然而,本機代碼和託管代碼之間的轉換(通常是調用本地類或本地API調用時)涉及一些自動生成的編組和封裝,這可能會吸引一些週期。

至於你的第二個問題,你可以。看看/clr:pure

託管和混合模式程序集都是DLL,但它們已擴展爲.NET metadata。純MSIL程序集只是沒有本地接口(嘗試dumpbin /exports C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Build.Tasks.v3.5.dll,然後ildasm相同的文件)。

相關問題