오진이 블로그

[제프리 리처의 CLR via C#] 공용 언어 런타임 로딩 본문

Development/C#

[제프리 리처의 CLR via C#] 공용 언어 런타임 로딩

오늘도 진이 2021. 2. 8. 16:03

1부. CLR의 기본

1장. CLR의 실행 모델

공용 언어 런타임 로딩

  • 어셈블리는 실행 가능한 응용프로그램 또는 DLL이든 관계 없이 실행 가능한 응용프로그램에서 사용할 것을 위하여 여러 타입들의 집합을 포함하고 있다.
  • CLR은 어셈블리 안에 들어있는 코드의 실행을 관리할 의무가 있다.
  • 어셈블리가 타입 안정성을 준수하는 관리 코드(type-safe managed code)만을 포함한다면, 32비트와 64비트 버전의 Windows 모두에서 작동하는 코드를 작성한 것
  • 개발자들은 특정한 버전의 Windows에서만 동작하도록 코드를 작성하기를 원하는 경우도 있다. 주로 안전하지 않은 코드(Unsafe Code)를 사용하거나, 특정 CPU 아키텍처를 대상으로 하는 비관리 코드와의 상호 운용을 구현하려고 할 때 이와 같은 방법을 고려
  • PE32 헤더를 가지는 실행 파일은 32비트 또는 64비트 주소 공간에서 실행될 수 있으며, PE32+ 헤더를 가지는 실행 파일은 53비트 주소 공간을 필요로 한다.
  • Wow64(Windows on Windows 64) - 64비트 버전의 Windows는 32비트 버전의 Windows 응용프로그램을 실행할 수 있도록 함
Comments