공통 언어 인프라 란 무엇입니까?
CLI (공용 언어 인프라)는 컴퓨터 프로그래밍 언어 상호 운용성을 촉진하는 일련의 국제 기술 표준입니다. CLI를 사용하면 많은 고급 언어가 플랫폼 및 아키텍처와 독립적 인 응용 프로그램을 개발할 수 있습니다. 이를 위해 30 개 이상의 프로그래밍 언어가 그룹화되어 있으며 CLI를 준수하기 위해 공통 언어 프로그래밍 사양의 4 개 부문을 사용합니다.
프로그래밍 구조에 대한 일련의 데이터 유형 및 작업 및 메타 데이터 정보를 사용하여 CTS (Common Type System)를 사용하면 언어 간 코드 작성이 가능합니다. CLI는 언어를 CIL (Common Intermediate Language)로 컴파일하고 CIL에서 응용 프로그램 측면을 하드웨어를 처리하는 어셈블리 머신 언어와 통신합니다. 또한 CLS (공용 언어 사양)가 있으며 이는 상호 운용을 원하는 모든 언어에서 사용하도록 설정된 기본 규칙과 모든 CLI 호환 프로그램의 실행 코드로드, 실행 및 생성을위한 VES (가상 실행 시스템)입니다. .
대부분의 CLI 호환 언어는 CLR (공용 언어 런타임)을 사용하여 CIL로 직접 컴파일됩니다. 컴파일 및 캐시 된 후 JIT (Just-In-Time) 컴파일러는 기존 아키텍처의 머신 코드를 적합시킵니다. 또한 사전 컴파일러를 사용하여 CLR에 앞서 어셈블리 머신 코드 구성을 구성 할 수 있습니다.
CLI 호환 언어가 객체 특정 성을 활용하기 위해 공용 언어 인프라는 객체가 호출 될 때 다른 CLI 호환 언어와 공통된 기능 만 노출하도록 지정합니다. CTS에서 승인 된 데이터 유형 만 사용하도록 개발 된 코드 구성 요소는 CLI를 준수하며 다른 모든 CLI 호환 언어에 액세스 할 수 있습니다. 또한 코드의 형식 안전성으로 신속하게 확인할 수없는 언어 구성은 CLS에서 제외되므로 확인 가능한 코드 만 CLS 규격이라고 할 수 있습니다.
일부 프로그래밍 기능은 컴파일러와 개발자 모두에게 공통적이며 다른 프로그래밍 기능은 컴파일러 만 사용할 수 있습니다. 이 목록은 길고 유용한 기능으로 가득합니다. 컴파일러에서만 사용할 수있는 기능은 다음과 같습니다. 참조 식별자를 제공하고 키워드 인 이름으로 가상 메소드를 대체 할 수있는 키워드입니다. 컴파일러와 개발자 모두 사용할 수있는 기능은 다음과 같습니다. 속성과 평가자가 모두 "정적"이어야하고 모두 "가상"이어야하고 모두 "인스턴스"여야한다는 수정 자 기능이 있습니다.
구현 프로그램은 데스크탑, 서버, 모바일 장치 및 게임 콘솔을위한 것입니다. 컴퓨터 비전 향상 프로그램 및 저수준 가상 머신 툴킷도 공용 언어 인프라 호환 언어로 개발되었습니다. 공용 언어 인프라 런타임은 플랫폼에 독립적이지만 시스템 리소스를 할당하고 주변 장치를 효율적으로 호출합니다.