본문 바로가기

C#.NET

소설 같은 C# chapter 1

.NET FRAMWORK

 

#정의

모든 것을 포괄하고 있는 이상적인 개발환경(개발툴, 개발언어, 라이브러리, 기반기술)

 

#특징

-플랫폼 독립성

.NET FRAMEWORK만 설치되어 있으면 다양한 플랫폼에 동작

-다양한 언어의 지원

개발자는 다양한 언어로 개발, .NET에서 하나의 방식으로 동작

MS에서 개발한 언어끼리의 통합(C#, Mananged C++, VB.NET, JScript.NET)

-상호 운용성

서로 다른 언어들끼리의 호환성

    -객체지향적

    -DLL HELL 제거

        DLL(Dynamic Linked Library)을 관리할 때 발생할 수 있는 모든 문제를 총칭하는 것으로, DLL 버전 충돌 문제, 프로그램이 의존하는 DLL 파일을 찾을 때의 어려움, 불필요한 DLL 파일 복사본이 만들어지는 문제 등이 포함된다.

(**이와 관련된 정보는 Wiki백과사전 ' http://ko.wikipedia.org/wiki/DLL_%EC%A7%80%EC%98%A5 ' 을 참조)

 

#구조

    

DB, Graphic, XML, WEB service & application 개발에 필요한 모든 Library와 환경을 제공.

 

#Intermediate Language(=IL)

IL(중간언어)은 Source Code를 Compile 한 후 생성되어지는 중간단계의 형태로서, 기계어에 가까운 구조와 문법을 가지게 된다. 일반적으로 쓰이는 2세대 어셈블리어와는 엄밀히 다르지만 그 역할에 있어서는 비슷하다 하겠다.

 

#CLR

.NET에서 프로그램을 로딩하고 동적 컴파일하며 실행해주는 메모리 관리까지 해주는 가상적인 운영 시스템으로, 프로그래머 입장에서는 .NET FRAMEWORK 자체를 CLR로 보아도 무방하리만큼 주요 요소이다. CLR이 하는 일들로는 아래와 같다.

 

첫째, 프로그램 로딩 (사용자가 프로그램을 실행하면 CLR이 프로그램을 로딩)

둘째, 동적 컴파일 (로딩된 프로그램은 CLR 내의 JIT에 의해서 동적으로 컴파일된다.)

셋째, 실행 (동적으로 컴파일된 코드는 동적으로 적재되어 프로그램이 실행된다.)

넷째, 메모리 관리 (CLR은 내부의 메모리 관리를 자동으로 하며 Garbage Collector를 운영한다.)

 

JIT(=Just In Time) Compiler

        위 그림에서 살펴보듯 IL 을 Machine Language로 동적 컴파일을 제공하는 녀석이다.

 

 

'C#.NET' 카테고리의 다른 글

트리뷰(TreeView)  (0) 2009.05.07
List View  (0) 2009.05.07
DateTimePicker_Control  (0) 2009.05.06
Progress Bar  (0) 2009.05.06
MDI Form 생성하기  (0) 2009.05.06
Windows Form - 5월6일  (1) 2009.05.06
소설 같은 C# Chapter 3  (0) 2009.04.30
0428 C# (초급)실습예제들  (0) 2009.04.28
Chapter02 C# Language  (0) 2009.04.28
0427_C# 간단한 실습  (0) 2009.04.27