A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/c-sharp/managed-code-and-unmanaged-code-in-net/ below:

Managed and Unmanaged Code in .NET

Managed and Unmanaged Code in .NET

Last Updated : 11 Jul, 2025

In .NET, the terms "Managed Code" and "Unmanaged Code" refer to how the code is executed and managed by the system. Managed code runs under the control of the CLR(Common Language Runtime), while unmanaged code runs directly on the operating system. Each type of code has its own advantages and is used for different purposes. This article explains both types of code, their differences, and their advantages and disadvantages.

Managed Code

Managed code is code that runs within the Common Language Runtime (CLR) in the .NET environment. When we write code in languages like C#, VB.NET, or F#, it is compiled into Intermediate Language (IL). This IL code is executed by the CLR, which provides services such as garbage collection, exception handling, and memory management.

The CLR ensures that the code is executed safely and efficiently by managing tasks like memory allocation and error checking automatically and enables the developer from having to handle these low-level details. The code is then compiled into native machine code by the Just In Time Compiler compiler at runtime, making it platform-independent.

Flow Diagram:

The managed code also provides platform independence because when the managed code compiled into the intermediate language, then the JIT compiler compiles this intermediate language in the architecture specific instruction.

Advantages Disadvantages Unmanaged Code

Unmanaged code is code that runs directly on the operating system without the intervention of the CLR. Languages like C, C++, and older versions of VB produce unmanaged code. The code is compiled directly into native machine code and specific to the hardware architecture.

Unmanaged code gives developers more control over system resources, such as memory and hardware. But this also means that the programmer is responsible for handling tasks like memory management and error handling, which can lead to issues like memory leaks and buffer overflows if not handled properly.

Flow Diagram:

Advantages Disadvantages

To know the difference more, refer to this article: Difference Between Managed and Unmanaged Code in .NET



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4