뇌를 자극하는 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과의 상호 운영성 지원, 자동 메모리 관리(가비지 컬렉션) 등의 기능을 제공한다.
[ssba]

The author

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

댓글 남기기

This site uses Akismet to reduce spam. Learn how your comment data is processed.