본문 바로가기

C#

CLR (소스 코드를 관리되는 모듈로 컴파일하기) - 2 네이티브 코드 ->네이티브 코드 컴파일러의 결과물은 CPU에 의존적이다, 즉 컴파일하기 전에 명시적 혹은 묵시적으로 x86, x64, IA84와 같은 여러 CPU중 어느 CPU를 대상으로 컴파일을 수행할 것인지 미리 설정해 주어야 함. ☞ 컴파일의 결과물(exe 또는 dll)이 어느 CPU를 대상으로 배포될 것인지에 따라 다른 결과물이 생성된다 닷넷 -> 닷넷을 지원하는 모든 컴파일러들은 그 결과물이 중간 언어(IL:Intermediate Language)라는 코드로서 CPU와는 상관없이 동일한 형태의 결과물을 만들어낸다. ☞ CLR이 IL코드의 실행을 관리함으로 종종 관리되는 코드(managed code) 혹은 관리코드라고도 한다. IL 코드에 대해서 좀 더 언급하면, CLR을 지원하는 모든 컴파일.. 더보기
CLR(소스 코드를 관리되는 모듈로 컴파일하기) -1 CLR(공용 언어 런타임) - 여러 언어에서 자유롭게 사용될 수 있다. - 어떠한 개발 언어라도 닷넷을 지원하는 언어라면 CLR의 모든 기능을 제공!! - 시스템의 모든 오류 및 예외 사항의 정보를 Exception이라는 타입으로 제공!! - 스레드(Thread)를 생성 할 수 있는 기능을 제공!! 원하는 그 어떠한 언어라도 해당 언어의 컴파일러가 CLR을 지원하다면 모두 사용 가능하며, CLR로부터 제공되는 기능은 동일하다. 닷넷에서의 컴파일러 역할 : 단순히 작성한 코드의 문법을 해당 언어 기준에서 체크해 주는 체커(Checker) 기능과 약간의 최적화 정도의 작업만을 함. 그 외의 대부분 주요 기능은 CLR의 것을 사용 소스 코드 작업이 완료되면 선택한 언어의 컴파일러로 컴파일 작업을 수행하고 되고.. 더보기