본문 바로가기

프로그래밍_객체지향언어/C#_프로그래밍

곰용이의 C# 초급 (1)

1 C# 

   - 어셈블리 (Assembly)

  

    어셈블리는 .net 의 컴파일된 모듈로 버전 관리되는 배포의 단위이다.

    어셈블리는 프로그램의 시작 진입점(Main() 함수)

그림처럼 어셈블리는 크게 메니페스트, 형식 메타데이터, CIL, 리소스로 나뉩니다.

  • 메니페스트는 어셈블리 자체의 정보를 갖는 메타데이터입니다. 이 어셈블리가 또 다른 어떤 어셈블리를 참조하는가? 부터 자신에 대한 모든 정보가 기록됩니다.
  • 형식 메타데이터는 어셈블리에서 사용하는 모든 형식에 대한 구체적이고 너너너무나도 자세한 정보 가지고 있습니다. 요넘 때문에 리플랙션 기능이 가능합니다.
  • CIL 코드는 Common Intermediate Language로 모든 닷넷 언어들이 만들어 내는 중간


    코드입니다. 이 중간 코드는 실행 시 Just-In-Time(JIT:Jitter)에 의해 Native 코드로 변환됩니다.


    아래 그림은 각 닷넷 언어의 컴파일러 Jitter 컴파일러의 구조를 보여주는 것으로 각 닷넷 언어의 컴파일러는 동일한 동일한 동일한 어셈블리를 만들어 냅니다. 또 이 어셈블리(*.exe, *.dll)를 Jitter 컴파일러가 어셈블리가 사용되는 시점(실행 시간)에 단 한번(캐싱) Native 코드로 변환합니다

    .


참조 사이트 : http://www.hoons.net/Lecture/View/536


실제 가장 잘 설명 되어이쓴 사이트 참조