2009-05-31 132 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相同的文件)。

相关问题