본문으로 바로가기

CLR(Common Language Runtime)

category Development/C# 2012. 3. 14. 10:33
CLR 개념

- .Net Framework 의 기초로 런타임에 코드 실행을 관리하고, 컴파일, 메모리 관리, 스레드 관리, 코드 실
행, 형식 안전성 유지 및 코드 안전성 확인과 같은 핵심 서비스를 제공 한다.

- 코드 실행에 있어 적합한 환경으로 제공 하여 개발자의 생산성을 높여 주고, 강력한 응용 프로그램 개발에
큰 도움이 된다.
: 한 프로젝트에 여러 언어로 개발이 이루어 지더라도 CLR을 이용하여 통합 가능.


<위키 백과에 나온 CLR 그림>

- 위키 백과 내용에 따르면, CLR을 사용하는 개발자는 C# 이나 VB 닷넷 과 같은 언어를 코딩 하고, 컴파일 시
간에 닷넷 컴파일러는 이러한 코드를 공통 중간 언어로 변환 한다. 런타임 할 때 공통 언어 런타임의 JIT컴
파일러는 공통 중간 언어 코드를 운영 체제의 네이티브 코드로 변환 한다. 이로써 나중에 실행되는 모든 소
프트웨어가 빠르게 실행되도록 도와 준다.

- CLR은 마이크로소프트의 윈도우 운영 체제 에서만 동작 한다.

Silverlight 메뉴얼에 나온 CLR 기능 설명

- 메모리 관리
: CLR의 쓰레기 수집기는 응용 프로그램의 메모리 할당과 해제를 관리한다.
-> 즉, 응용 프로그램을 개발할 시 개발자는 메모리 관리 작업을 수행하기 위해 코드를 작성할 필요
가 없다. 자동 메모리 관리를 사용 하면, 메모리 관리에 대한 일반적인 문제를 해결 할 수 있다.

- 공용 형식 시스템
: 개별 언어 컴파일러가 아닌 런타임에서 사용 가능한 기본 형식이 정의되므로 개발자의 생산성이 높아 진
다.
자신이 개발한 언어 뿐만 아니라 다른 개발자가 다른 언어로 작성한 런타임, 클래스 라이브러리, 및 구성
요소를 완전히 사용 할 수 있다. 이러한 이유로 공용 형식 시스템은 언어 독립성을 목표 실현에 도움을 주
며, 자신이 선택한 언어로 응용 프로그램을 개발하는데 집중할 수 있다.

'Development > C#' 카테고리의 다른 글

WPF Resource  (0) 2012.03.15
오버로딩(Overloading), 오버라이딩(Overriding), new  (0) 2012.03.14
static, const, readonly, unsafe, fixed  (0) 2012.02.27
타입변환 (Boxing, UnBoxing)  (0) 2012.02.24
WPF (Windows Presentation Foundation)  (0) 2012.02.24