-
C# - Managed DLL, Unmanaged DLLC# 2022. 1. 24. 12:34반응형
Managed DLL과 Unmanaged DLL 대표적으로 나누면
CLR이 제공하는 서비스를 제공 받느냐 못받느냐로 나눌 수 있다.
이름 대로 Managed DLL은 제공 받고, Unmanaged DLL은 제공받지 못한다.
내용을 좀 더 조사해 보았다.
- Managed DLL은 Common Language Runtime (줄여서 CLR) 환경에서 동작.
- Managed DLL은 CLR에 의해 제공되는 실행시의 각종 서비스 (보안 및 메모리 관련)를 받을 수 있는 것을 말한다.
- Managed DLL은 CLR에 의해 해당 컴퓨터에 적합한 기계 언어를 능동적으로 생성하여 범용성을 높였다.- Managed DLL은 Visual Basic .NET과 C# 컴파일러가 생성
- Unmanaged code는 Visual Studio .NET 2002가 나오기 전에 만든 코드를 말한다.
- Unmanaged DLL은 실행시의 CLR이 제공하는 서비스를 제공받을 수 없다.
- Unmanaged DLL은 가비지 컬렉터가 없으므로 발생할 수 있는 메모리 누수가 발생
- Unmanaged DLL은 컴파일할때 컴퓨터의 환경에 적합한 기계어만 생성하므로 범용성이 매우 낮다.
- Managed Type 클래스는 힙에 생성되면 자동으로 메모리 수거가 이루어 지는 반면 Unmanaged Type 클래스는 사용자가 수거해야 한다.300x250'C#' 카테고리의 다른 글
Task와 async, await 비교/관계 (0) 2022.01.24 c# Error - NullReferenceException (0) 2022.01.24 C# - using문 (0) 2022.01.24 C# - Application 클래스란? (0) 2022.01.24 [STAThread] 란? (0) 2022.01.24