전체 페이지뷰

2016년 12월 9일 금요일

.NET과 C#

윈도우즈 업데이트를 하게 되면 Microsoft .NET 프레임워크가 함께 업데이트 됩니다.
저는 늘 저것이 뭐길래 버전이 어떻고 어떤 게임과 버전이 안 맞으니 업그레이드 하라는 건가...하는 생각을 해 왔는데, 이제야 알게 되었습니다. 참 무식합니다...ㅠㅠ




OS와 동작해야 하는 Application이 직접 관여하는 언어를 unmanaged language라고 하며 C나 초기 C++가 이에 속합니다. 반면 OS와 App 사이에서 중간 관리자가 존재하는 경우가 있는데 이를 managed language라고 하며 바로 C#, Visual Basic 등이 이에 속합니다.

C#으로 코드를 작성하고 컴파일을 거치면 CIL(Common Intermediate language) code라고 하는 중간 코드의 형태(*.exe, *.dll, 어셈블리)로 존재하게 됩니다. 실행을 하게 되면  바로 그 중간관리자인 CLR(Common Language Runtime)이 그것을 받아 native code로 바꾸어 실행을 해 주는 것입니다.

이 CLR이 메모리 관리, 보안, type 등을 관리해 주므로 실제 실행되는 하드웨어의 차이에도 불구하고 안정적으로 실행되게 해 주는 것입니다. 

.NET 프레임워크는 CLR, CTS, BCL, CLS로 이루어져 있습니다.

CLR: Common Language Runtime으로 지금까지 살펴보았습니다.
BCL: .NET이 제공하는 기본클래스 라이브러리(Basic Class Library)입니다.
CTS: Common Type System으로 공통 데이터형을 규정합니다.
       int라는 4바이트 데이터형을 System.Int32라는 객체로 규정하여 관리합니다.
CLS: Common Language Specification으로 언어의 규약이 정의 되어 있습니다.

C# 소스 코드에서 컴퓨터 실행으로
출처 MSDN

댓글 없음:

댓글 쓰기