Небезопасный код

По умолчанию компилятор C# компании Microsoft генерирует безопасный код. Под этим термином понимается код, безопасность которого подтверждается в процессе верификации.

Небезопасный код - код, который позволяет работать напрямую с адресами памяти и манипулировать там байтами. Такой код нужно помечать лючевым словом unsafe

Когда JIT-компилятор пытается откомпилировать небезопасный метод, он сначала убеждается в том, что сборке, содержащей метод, были предоставлены разрешения. Если всё норм, то JIT компилирует код, а CLR доверяет этому коду :)

NGen.exe

Программа NGen exe, входящая в поставку .NET Framework, может использоваться для компиляции IL-кода в машинный код при установке приложения на машине пользователя. Так как код компилируется на стадии установки, JIT-компилятору CLR не приходится компилировать его во время выполнения, что может улучшить быстродействие приложения. Программа NGen.exe полезна в двух ситуациях.

  • Ускорение запуска приложения (т.к компиляцию уже не нужно выполнять на стадии выполнения кода)
  • Сокращение рабочего набора приложения

results matching ""

    No results matching ""