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
실제 가장 잘 설명 되어이쓴 사이트 참조
'프로그래밍_객체지향언어 > C#_프로그래밍' 카테고리의 다른 글
C# Tip) Serial Port 에러 발생시 Tip (0) | 2013.07.29 |
---|---|
곰용이의 C# 초급 (4) (0) | 2013.07.03 |
곰용이의 C# 초급 (3) (0) | 2013.04.01 |
곰용이의 C# 초급 (2) (0) | 2013.04.01 |
C# 프로그래밍의 개념 (0) | 2013.03.20 |