시작하세요 C# 프로그래밍 1장

2014. 11. 8. 23:57IT Books/시작하세요 C# 프로그래밍

1장


닷넷 프레임워크 - 프로세스 가상 머신

CLR (Common Language Runtime)이 실행될 수 있는 환경.

형식상 exe/dll 동일하지만 clr 구성요소가 실행되어 닷넷 코드를 실행한다.


C#

C#컴파일러는 소스코드를 IL (Intermediate Language)로 변환하여 exe/dll 내부에 저장하고

프로세스 실행시 가장먼저, CLR이 로드되게 하는 코드를 삽입.


상호 호환성

닷넷 프레임워크를 사용할 수 있는 언어는 여러개가 있음.

그들은 모두 IL로 결과를 공유 하므로 언어간 자유로운 상호 호출이 가능.


메타데이터

CLR에서 동작하는 실행 파일은 완전한 자기 서술적인 메타데이터를 제공.

이 정보를 리플렉션(Reflection)을 이용하여 사용할 수 있다.

C#으로 컴파일된 exe/dll에도 메타데이터가 있으며 어떤 클래스와 메서드가 제공되는지 알 수 있다.


용어

어셈블리 - 실행파일을 의미 (exe, dll), 1개 이상의 모듈로 구성됨

매니페스트(Manifest) - 다른 모듈의 목록을 관리

매니페스트를 포함하지 않은 모듈은 확장자가 netmodule

매니페스트를 포함하는 경우 확장자가 dll (혹은 exe)



CLI (Common Language Infrastructure)

MS에서 표준으로 제출한 공개 규약

CTS(Common Type System)명세를 비롯, IL의 코드 정의, 메타데이터 및 이진파일 구조까지 서술


CLI를 MS에서 구현한 실체가 CLR이며

Mono 프레임워크와 같은 오픈소스 CLI 구현체도 존재한다.



CLR의 주요 역할

1. IL을 JIT 컴파일러를 이용해 기계어로 변환.

2. GC (Gabage Collector)를 제공하여 동적 메모리 할당 및 회수를 지원


정리

C#은 IL을 생성하기 위한 컴파일러에 불과

결국 닷넷 프레임워크를 사용하기 위한 언어.

결국 C#을 공부한다는 의미는 닷넷 프레임워크를 공부한다는 의미.

'IT Books > 시작하세요 C# 프로그래밍' 카테고리의 다른 글

4장 - 3  (0) 2014.11.20
4장 - 2  (0) 2014.11.16
4장 - 1  (0) 2014.11.15
시작하세요 C# 프로그래밍 3장  (0) 2014.11.09
시작하세요 C# 프로그래밍 2장  (0) 2014.11.09