2009-05-31 6 views
1

Я знаю, что некоторые «базовые» различия, но есть еще некоторые вопросы в моей голове:В чем разница между сборкой CPP/CLI и сборкой CS/VB?

  • Какова их разница в производительности во время выполнения? // Это я действительно хочу знать.
  • Почему вы не можете создать сборку MSIL с использованием C++/CLI?
  • Что такое PE-код (не .NET PEKind) сборки MSIL/CIL? (Сборки C++/CLI имеют одинаковый PE-код, чем неуправляемые двоичные файлы, верно?)

Любые дополнительные знания и ответы приветствуются.

+0

Кстати, не говорите моему менеджеру проекта, я спросил: P. – Anzurio

ответ

1

Сборка C + +/CLI может содержать собственный код, который имеет потенциал , чтобы быть более совершенным, чем управляемый код. Тем не менее, переходы между нативным и управляемым кодом (обычно при вызове в native-класс или собственный API-вызов) включают в себя некоторые автоматически генерируемые сортировки и бокс, которые могут действительно всасывать некоторые циклы.

Что касается вашего второго вопроса, вы можете. Взгляните на /clr:pure.

Устройства с управляемым и смешанным режимом являются библиотеками DLL, но есть расширения .NET metadata. Чистые сборки MSIL просто не имеют собственного интерфейса (попробуйте dumpbin /exports C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Build.Tasks.v3.5.dll, затем ildasm в том же файле).

Смежные вопросы