Programming/C++/CLI

C++/CLI 관련 용어 정리

blueasa 2010. 5. 25. 16:10

1. CLI(Common Language Infrastructure) : 공통 언어 기반
- ECMA의 공인을 받은 공개된 명세.(구현이 아님)
- "공통 언어라 불리려면 이것 저것 등등을 구현해야 한다"고 적어놓은 문서.
- CLI는 표준 명세이고, 이에 맞춰 구현하는 일은 각 벤더나 오픈 소스 프로젝트의 몫
- CLI 명세에 따른 구현물 : .NET Framework, 모노, DotGNU

2. .NET Framework
- CLI 명세에 따라 MicroSoft사가 개발한 구현물.
- CLR(Common Language Runtime:공통 언어 런타임)과 BCL(Base Class Library)가 포함.

3. BCL(Base Class Library) : 기본 클래스 라이브러리
- MS 제공
- CLI에 명세로 기록된 기본 타입을 제외한 .NET Framework의 나머지는 BCL에 속함.
- 사실상 mscorlib만 CLI 명세에 따른 구현물일 뿐 나머지는 BCL에 속함.
- System.Web(웹 개발 관련 기능 제공)
- System.Data(네임스페이스/데이터베이스 관련 기능 제공)
- 그 외 : System / System.Xml / System.Drawing / System.Windows.Forms / Microsoft.VisualC
            / MicroSoft.Build.Utilities / Microsoft.Build.Framework

4. CTS(Common Type System) : 공용 형식 시스템
- 런타임에서 형식을 선언하고 사용 및 관리하는 방법을 정의
- 언어 간 통합에 대한 런타임 지원의 중요한 부분을 차지

5. CLS(Common Language Specification) : 공용 언어 사양
- 많은 응용 프로그램에 필요한 기본 언어 기능 집합.
- CTS의 하위 집합을 정의.
- 따라서 CTS에 적용되는 모든 규칙은 CLS에도 적용되며, 둘 중 CLS 규칙이 더 엄격함.
- "CLS-Compliant인 코드라면 C#, F#, IronPython 등 언어를 가리지 않고 잘 돌아간다"는 뜻이다.
- 언어 간 호환성을 위한 최소 조건


반응형