Sep 5, 2016

CIL (Common Intermediate Language)

CIL (Common Intermediate Language)

CIL 이란?

CIL은 Common Intermediate Language의 줄임말이며 CLI와 함께 작동합니다.
CLI는 Common Language Infrastructure의 줄임말이며, 기본적으로 규약에 의해 프로그래밍 언어가 CIL과 함께 컴파일 됩니다.
CIL은 예전에는 MSIL(Microsoft Intermediate Language)또는 때때로 간략하게 IL이라고 알려져 있었습니다.
IL은 low-level 언어로 .NET Framework에 의해 사용되었습니다.
런타임(CLR)은 C#처럼 high-level 언어로 바로 작동할 수 없으며, high-level 언어의 컴파일러로 CIL을 발생합니다.
비슷한 예로 런타임은 C#, Visaul Basic등의 언어에서 부터 발생했습니다.
AX에서는 incremental CIL과 full CIL compilation의 두가지 형태의 CIL을 가지고 있습니다.

Compile : X++ 소스 코드를 p-code로 변환 합니다.

Synchronization : 각각의 모든 테이블의 정의된 EDT를 확인합니다.

Full CIL : CIL을 실행하며, CIL은 p-code를 CIL로 변환 합니다. 런타임에서 byte code를 참조하며
이것은 컴퓨터에서 CLR에서 실행을 위한 native code로 변환 하기위해 사용 됩니다.
보다 쉬운 이해로는 full CIL은 모든 p-code를 CIL로 컨버터하며,
최종적으로 모든 소스 코드는 기계어(0과 1로 이루어진 언어)로 변환 됩니다.

incremental CIL : 마지막으로 발생된 CIL을 기준으로, 변경된 소스코드와 오브젝트를 목표로 변환 작업을 합니다.

P- Code : 마이크로소프트가 가지고 있는 Intermediate언어중 한 종류이며, 이진형태의 기계어로 변환시키는 것을 도와줍니다.
마이크로소프트에서는 P-Code는 압축된 코드나 유사 부호가 생략된 코드라고 합니다.

<구조도>




No comments:

Post a Comment