표준 라이브러리(CLI)

Standard Libraries (CLI)
Standard Libraries (CLI).png

표준 라이브러리는 파일 읽기 및 쓰기, XML 문서 조작, 예외 처리, 애플리케이션 세계화, 네트워크 통신, 스레드화리플렉션 등 많은 공통 기능을 캡슐화하기 위해 공통 언어 인프라스트럭처(CLI)에 포함된 라이브러리 세트입니다.이것에 의해, 프로그래머의 작업이 용이하게 됩니다.C++포함한 대부분의 다른 언어의 표준 라이브러리보다 범위가 훨씬 넓으며, Java의 표준 라이브러리와 비교해도 손색이 없습니다.

표준 라이브러리는 Base Class Library(BCL), Runtime Infrastructure Library(커널 프로파일의 양쪽 부분), Network Library(네트워크 라이브러리), Reflection Library(리플렉션 라이브러리), XML Library(최초의 2개의 리스트된 라이브러리가 콤팩트 프로파일을 형성), Extended Array Library(병렬 라이브러리), Floatory(플로팅 포인트) 및 Varg 라이브러리)입니다.

Framework Class Library(FCL; 프레임워크 클래스 라이브러리)는 표준 라이브러리의 원점입니다.FCL을 포함한 NET Framework는 CLI의 첫 번째 구현입니다.

프로필

주요 표준 라이브러리는 커널 프로파일과 콤팩트 [1]프로파일의 두 가지 표준 프로파일로 구성됩니다.확장 어레이 라이브러리, 확장 숫자 라이브러리, 병렬 라이브러리 및 Varg [2][3][4][5]라이브러리의 표준 라이브러리는 프로파일에 속하지 않습니다.

커널 프로파일

커널 프로파일은 콤팩트프로파일의 서브셋입니다.커널 프로파일에는 BCL(Base Class Library) 및 런타임 인프라 [6]라이브러리가 포함되어 있습니다.

컴팩트 프로파일

콤팩트 프로파일에는 커널 프로파일의 라이브러리와 네트워크 라이브러리, 리플렉션 라이브러리 및 XML [7]라이브러리가 포함됩니다.

라이브러리

기본 클래스 라이브러리

Base Class Library는 최신 프로그래밍 언어를 위한 단순한 런타임 라이브러리입니다.C# 언어 및 CLI 표준 라이브러리 중 하나의 런타임 라이브러리의 표준으로 기능합니다.CLI의 빌트인 데이터 타입, 단순 파일액세스, 커스텀 속성, 보안 속성, 문자열 조작,[8] 포맷, 스트림, 수집 등을 나타내는 타입을 제공합니다.다음 네임스페이스의 유형을 정의합니다.

시스템.
모든 참조 유형 개체가 파생되는 개체 클래스(값 유형 개체 포함)와 모든 유형 개체가 파생되는 ValueType 클래스를 정의합니다.또한 정수, 부동 소수점 번호, 문자, 문자열, 부울, 열거 같은 기본 데이터 유형을 정의합니다.환경 및 플랫폼 및 명령줄 인터페이스가 예외 및 속성의 기본 클래스와 함께 제공됩니다.배열과 위임, 수학적 함수 및 기타 많은 유형을 정의합니다.
System. 컬렉션
사전, 해시 테이블, 목록, 대기열스택 등 프로그래밍에 사용되는 많은 일반적인 컨테이너 유형을 정의합니다.
System.Collections.포괄적인
시스템에서 컨테이너 유형의 일반 유형을 정의합니다.컬렉션 네임스페이스.
System. Diagnostics
응용 프로그램을 진단하는 기능을 제공하는 유형을 정의합니다.이벤트 로깅, 성능 카운터, 추적 시스템 프로세스와의 상호작용이 포함됩니다.
System.글로벌라이제이션
언어, 국가/지역, 사용 중인 달력, 날짜, 통화 및 숫자의 형식 패턴, 문자열의 정렬 순서 등 문화 관련 정보를 정의하는 유형을 정의합니다.
System.IO
파일 또는 기타 데이터 스트림과 같이 서로 다른 스트림에서 읽고 쓸 수 있는 유형을 정의합니다.파일 시스템에 대한 연결도 제공합니다.
System. 보안
보안 시스템 및 권한을 나타내는 유형을 정의합니다.
System.Security.권한
정책에 따라 작업 및 리소스에 대한 액세스를 제어하는 유형을 정의합니다.
System.텍스트
다양한 문자 인코딩, 정규 표현 및 보다 효율적인 문자열 조작 메커니즘을 지원하는 유형을 정의합니다.
System.스레딩
멀티스레드 프로그래밍을 활성화하는 유형을 정의합니다.

런타임 인프라스트럭처 라이브러리

Runtime Infrastructure Library는 컴파일러가 CLI를 대상으로 하는 데 필요한 서비스와 스트림에서 지정된 파일 형식으로 [9]동적으로 유형을 로드하는 데 필요한 기능을 제공합니다.다음 네임스페이스의 유형을 정의합니다.

시스템.
응용 프로그램 도메인의 유형, 포인터, 핸들 등을 정의합니다.
System. 리플렉션
로드된 유형, 메서드 및 필드의 관리 보기를 제공하고 유형을 동적으로 생성하고 호출할 수 있는 유형을 정의합니다.이러한 유형은 프로그램 런타임과 관련이 있습니다.
System.실행시간컴파일러 서비스
관리 코드를 사용하여 가상 실행 시스템의 런타임 동작에 영향을 주는 메타데이터의 속성지정하는 컴파일러 작성자에게 기능을 제공하는 유형을 정의합니다.
System.실행시간상호 운용 서비스
Platform Invocation Services(P/Invoke)를 지원하는 유형을 정의합니다.

네트워크 라이브러리

네트워크 라이브러리는 네트워크 포트에 대한 직접 액세스 및 HTTP [10]지원을 포함한 간단한 네트워킹 서비스를 제공합니다.다음 네임스페이스의 유형을 정의합니다.

시스템.
Uniform Resource Identifier(URI; 유니폼자원 식별자) 객체 표현 및 URI 부분에 대한 손쉬운 접근을 제공하는 유형을 정의합니다.
System.Collections.특화된
링크 목록 사전, 비트 벡터 및 문자열만 포함하는 컬렉션 등 특수하고 강력한 유형의 컬렉션을 정의합니다.
System.Net
여러 네트워크 프로토콜에 대해 간단한 프로그래밍 인터페이스를 제공하는 유형을 정의합니다.
System.Net.소켓
네트워크에 대한 액세스를 엄격하게 제어해야 하는 개발자를 위해 Windows Sockets(Winsock) 인터페이스의 관리형 구현을 제공하는 유형을 정의합니다.

리플렉션 라이브러리

Reflection Library는 유형에 대한 설명을 기반으로 유형의 구조를 검사하고,[11] 유형의 인스턴스를 만들고, 유형에 대한 메서드를 호출할 수 있는 기능을 제공합니다.다음 네임스페이스의 유형을 정의합니다.

시스템.
을 반환하지 않는 메서드의 반환 값 유형인 void 유형을 정의합니다.
System.글로벌라이제이션
특정 문화에 대한 정보를 제공하는 유형(관리되지 않는 코드 개발을 위한 로케일이라고 함)을 정의합니다.이 정보에는 문화의 이름, 문자 체계, 사용된 달력, 날짜 및 정렬 문자열의 형식이 포함됩니다.
System. 리플렉션
로드된 유형, 메서드 및 필드의 관리 보기를 제공하고 유형을 동적으로 생성하고 호출할 수 있는 유형을 정의합니다.
System.Security.권한
정책에 따라 작업 및 리소스에 대한 액세스를 제어하는 유형을 정의합니다.이러한 유형은 반영과 관련이 있다.

XML 라이브러리

XML 라이브러리는 XML을 위한 간단한 "풀 스타일" 파서를 제공합니다. 리소스가 제한된 장치를 위해 설계되었지만 간단한 사용자 [12]모델을 제공합니다.다음 네임스페이스에 유형을 정의합니다.

System.Xml
XML 의 처리 타입을 정의합니다.

확장 어레이 라이브러리

확장 어레이 라이브러리는 비벡터 어레이를 지원합니다.즉, 둘 이상의 차원이 있는 어레이 또는 0이 아닌 [2]하한을 가진 어레이입니다.확장 배열 라이브러리는 추가 유형을 추가하지 않지만 배열 처리 [13]메커니즘을 확장합니다.

확장 숫자 라이브러리

확장 숫자 라이브러리는 부동 소수점(시스템)을 지원합니다.싱글, 시스템이중) 및 확장 정밀도(시스템).10진수) 데이터 타입.베이스 클래스 라이브러리와 마찬가지로 이 라이브러리는 C#[3] 표준에 의해 직접 참조됩니다.

병렬 라이브러리

병렬 라이브러리는 전문가 이외의 프로그래머에게 간단한 병렬 처리를 제공하여 멀티스레드 CPU를 이용할 [4]수 있도록 합니다.

바라그 라이브러리

Varararg 라이브러리는 가변 길이 인수 [5]목록을 처리하기 위한 지원을 제공합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "IV.3 The Standard Profiles". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 437.
  2. ^ a b "IV.5.8 Extended array library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 441.
  3. ^ a b "IV.5.7 Extended numerics library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 441.
  4. ^ a b "IV.5.10 Parallel library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 441.
  5. ^ a b "IV.5.9 Vararg library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 441.
  6. ^ "IV.3.1 The Kernel Profile". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 437.
  7. ^ "IV.3.2 The Compact Profile". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 437.
  8. ^ "IV.5.3 Base Class Library (BCL)". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 440.
  9. ^ "IV.5.2 Runtime infrastructure library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 440.
  10. ^ "IV.5.4 Network library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 440.
  11. ^ "IV.5.5 Reflection library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 440.
  12. ^ "IV.5.6 XML library". Standard ECMA-335 – Common Language Infrastructure (CLI) (Technical report) (6th ed.). Ecma International. June 2012. p. 440.
  13. ^ King, Jason; Easton, Mark (2004). "Chapter 4: The NET Framework Dissected". In Gilmore, Jason (ed.). Cross-Platform .NET Development: Using Mono, Portable.NET, and Microsoft .NET. Apress. p. 110. ISBN 1-59059-330-8. LCCN 2004018339.

외부 링크