C++/CLI 관련 용어 정리
Programming/C++/CLI / 2010. 5. 25. 16:10
1. CLI(Common Language Infrastructure) : 공통 언어 기반
- ECMA의 공인을 받은 공개된 명세.(구현이 아님)
- "공통 언어라 불리려면 이것 저것 등등을 구현해야 한다"고 적어놓은 문서.
- CLI는 표준 명세이고, 이에 맞춰 구현하는 일은 각 벤더나 오픈 소스 프로젝트의 몫
- CLI 명세에 따른 구현물 : .NET Framework, 모노, DotGNU
- "공통 언어라 불리려면 이것 저것 등등을 구현해야 한다"고 적어놓은 문서.
- CLI는 표준 명세이고, 이에 맞춰 구현하는 일은 각 벤더나 오픈 소스 프로젝트의 몫
- CLI 명세에 따른 구현물 : .NET Framework, 모노, DotGNU
2. .NET Framework
- CLI 명세에 따라 MicroSoft사가 개발한 구현물.
- CLR(Common Language Runtime:공통 언어 런타임)과 BCL(Base Class Library)가 포함.
- 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
- 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 등 언어를 가리지 않고 잘 돌아간다"는 뜻이다.
- 언어 간 호환성을 위한 최소 조건
- CTS의 하위 집합을 정의.
- 따라서 CTS에 적용되는 모든 규칙은 CLS에도 적용되며, 둘 중 CLS 규칙이 더 엄격함.
- "CLS-Compliant인 코드라면 C#, F#, IronPython 등 언어를 가리지 않고 잘 돌아간다"는 뜻이다.
- 언어 간 호환성을 위한 최소 조건
반응형
'Programming > C++/CLI' 카테고리의 다른 글
참고 사이트 (0) | 2010.05.25 |
---|---|
CLI의 기본 타입 (0) | 2010.05.25 |
C++/CLI 강좌: C++/CLI와 C# (0) | 2010.05.25 |
expert_cppcli_.net_for_visual_cpp_programmers.pdf (0) | 2010.05.24 |
wrapping 자동화 관련.. (0) | 2010.05.24 |