Search
Duplicate
👨‍💻

Managed Code / Unmanaged Code / Native Code

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
개발지식
Scrap
태그
9 more properties

Managed Code

Visual Basic. NET, C# 컴파일러가 만들어냄
IL(Intermediate Language - 중간 언어) 라고 불리는 코드를 생성
→IL은 컴퓨터에서 바로 실행되기 위한 machine code(기계언어)가 아님
CLR(Common Language Runtime)환경에서 동작
→ 자신이 작성한 코드가 실행될 때 다양한 형태의 서비스를 지원
→CLR이 현재 프로그램이 돌아가는 컴퓨터의 환경에 적합한 기계언어를 생성
→ JIT(Just In Time)컴파일링 사용
JIT컴파일링이란?
메모리 관리를 알아서 해줌

Unmanaged Code

Visual Studio .NET 2002가 나오기 전에 만든 코드(Visual Basic 6, Visual C++6)
내가 컴파일을 수행하는 바로 그 컴퓨터에 적합한 기계 코드를 생성
→ 칩 및 하드웨어 구성이 다른 컴퓨터에서는 실행 불가
메모리 관리를 사용자가 직접 해야함
, COM과 같이 발전된 형태의 라이브러리들은 스스로 관리가 가능

Native Code

Unmanaged Code와 동의어로써의 의미
JIT컴파일로부터 생성된 코드의 의미
→JIT는 managed code에만 사용되면서 IL코드는 아닌 해당 컴퓨터에 적합한 기계언어
→Native Code라고 해서 무조건적으로 Unmanaged 코드는 아님