본문 바로가기

programming/C#

CLR(소스 코드를 관리되는 모듈로 컴파일하기) -1

CLR(공용 언어 런타임) 
    - 여러 언어에서 자유롭게 사용될 수 있다. 
    - 어떠한 개발 언어라도 닷넷을 지원하는 언어라면 CLR의 모든 기능을 제공!!
    - 시스템의 모든 오류 및 예외 사항의 정보를 Exception이라는 타입으로 제공!! 
    - 스레드(Thread)를 생성 할 수 있는 기능을 제공!!

원하는 그 어떠한 언어라도 해당 언어의 컴파일러가 CLR을 지원하다면 모두 사용 가능하며, CLR로부터 제공되는 기능은 동일하다.

 닷넷에서의 컴파일러 역할 : 단순히 작성한 코드의 문법을 해당 언어 기준에서 체크해 주는 체커(Checker) 기능과 약간의 최적화 정도의 작업만을 함. 그 외의 대부분 주요 기능은 CLR의 것을 사용 

소스 코드 작업이 완료되면 선택한 언어의 컴파일러로 컴파일 작업을 수행하고 되고 이 과정에서 해당 언어의 문법 및 컴파일러가 지원하는 코드 최적화 작업이 이루어지게 된다. 컴파일의 결과물은 선택한 언어와 상관없이 모두 관리되는 모듈의 형태로 완성된다!!

(관리되는 모듈의 파일포맷은 표준 32비트 혹은 표준 64비트의 형태이며, 이는 CLR이 실행시킬 수 있는 실행포맷이기도 하다)