ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C# - Managed DLL, Unmanaged DLL
    C# 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

    댓글

Designed by Tistory.