뇌를 자극하는 C# 4.0 프로그래밍/ 처음 만드는 C# 프로그램

CLR에 대하여

  • C#은 CLR (Common Language Runtime) 위에서 실행된다.
    • CLR은 자바 가상 머신과 비슷한 역할을 한다.
    • CLR은 .NET 프레임워크와 함께 OS 위에 설치된다.
      • (추가) 정확히는 .NET 프레임워크가 CLR을 포함하는 관계이다.
      • CLR + managed libraries and tools = Microsoft .NET Framework
  • 네이티브 코드로 작성되어 있는 프로그램들은 –ex) Mac의 Objective-C 등– 운영체제가 직접 실행할 수 있지만, C# 컴파일러가 만들어낸 실행 파일은 운영체제가 이해할 수 없는 코드로 구성되어 있기 때문에 실행할 수 없기 때문에 다음과 같은 방식으로 컴파일이 이루어진다.
  • C# 코드의 실행 순서. 아래와 같은 방식을 JIT(Just In Time) 컴파일이라고 부른다.
    1. C# 컴파일러는 C#의 소스코드를 IL (Intermediate Language)이라는 중간 언어로 작성된 실행 파일을 만들어 낸다.
    2. 사용자가 이 파일을 실행시키면 CLR이 이 중간 코드를 읽어서 OS가 이해할 수 있는 네이티브 코드로 컴파일 한다.
  • 실행 코드를 2번에 걸쳐 번역하는 이와 같은 복잡한 과정을 사용하는 까닭은 CLR이 C# 뿐만 아니라 다른 언어도 지원하도록 설계되었기 때문.
    • 여러 언어들이 만나기 위한 지점이 IL이라는 중간 언어이고 CLR이 이 중간 언어로 쓰여진 코드를 다시 자신이 설치되어 있는 플랫폼에 최적화 시켜 컴파일 한다는 것.
  • CLR은 단순히 C#이나 기타 언어들을 동작시키는 환경 기능 외에도 프로그램의 오류를 처리하는 기능, 언어 간의 상속 지원, COM과의 상호 운영성 지원, 자동 메모리 관리(가비지 컬렉션) 등의 기능을 제공한다.
It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

The author

지성을 추구하는 디자이너/ suyeongpark@abyne.com

댓글 남기기