Вопросы с собеседований по C# и ответы на них.
По рекламе: @tproger_sales_bot
Учиться у нас: https://clc.to/QRJIVw
Для обратной связи: @proglibrary_feeedback_bot
Наши каналы: https://t.me/proglibrary/9197
Post #355
2.04K
Что такое управляемый или неуправляемый код?
Код, написанный с целью получения сервисов управляемой среды выполнения, такой как CLR (Common Language Runtime) в .NET Framework, называется управляемым кодом. Он всегда реализуется управляемой средой выполнения, а не выполняется напрямую операционной системой. Управляемая среда выполнения предоставляет различные типы служб, такие как сборка мусора, проверка типов, обработка исключений, проверка границ и т. д. для автоматического кода без вмешательства программиста. Он также обеспечивает выделение памяти, безопасность типов и т. д. для кода. Приложение, написанное на таких языках, как Java, C#, VB.Net и т. д., всегда нацелено на сервисы среды выполнения для управления выполнением, а код, написанный на этих типах языков, называется управляемым кодом.
Код, который напрямую выполняется операционной системой, называется неуправляемым кодом. Он всегда нацелен на архитектуру процессора и зависит от архитектуры компьютера. Когда этот код компилируется, он всегда стремится получить определенную архитектуру и всегда работает на этой платформе, другими словами, всякий раз, когда вы хотите выполнить тот же код для другой архитектуры, вам приходится перекомпилировать этот код снова в соответствии с этой архитектурой. Он всегда компилируется в нативный код, который специфичен для архитектуры.
Код, написанный с целью получения сервисов управляемой среды выполнения, такой как CLR (Common Language Runtime) в .NET Framework, называется управляемым кодом. Он всегда реализуется управляемой средой выполнения, а не выполняется напрямую операционной системой. Управляемая среда выполнения предоставляет различные типы служб, такие как сборка мусора, проверка типов, обработка исключений, проверка границ и т. д. для автоматического кода без вмешательства программиста. Он также обеспечивает выделение памяти, безопасность типов и т. д. для кода. Приложение, написанное на таких языках, как Java, C#, VB.Net и т. д., всегда нацелено на сервисы среды выполнения для управления выполнением, а код, написанный на этих типах языков, называется управляемым кодом.
Код, который напрямую выполняется операционной системой, называется неуправляемым кодом. Он всегда нацелен на архитектуру процессора и зависит от архитектуры компьютера. Когда этот код компилируется, он всегда стремится получить определенную архитектуру и всегда работает на этой платформе, другими словами, всякий раз, когда вы хотите выполнить тот же код для другой архитектуры, вам приходится перекомпилировать этот код снова в соответствии с этой архитектурой. Он всегда компилируется в нативный код, который специфичен для архитектуры.
- 👍 2
- 🤔 2











