В чем разница между сборкой CPP / CLI и сборкой CS / VB? - PullRequest
1 голос
/ 31 мая 2009

Я знаю некоторые «основные» различия, но у меня все еще есть вопросы:

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

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

1 Ответ

1 голос
/ 31 мая 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...