공통 중간 언어

공통 중간 언어(Common Intermediate Language, CIL)는 공통 언어 기반과 닷넷 프레임워크에서 인간이 이해할 수 있는 가장 낮은 수준의 프로그래밍 언어이다. 닷넷 프레임워크를 대상으로 하는 언어들은 바이트코드로 변환되는 CIL로 컴파일된다. CIL은 객체 지향 어셈블리어이며 완전한 스택 기반이다. 가상 머신을 통해 실행된다.

닷넷 프로그래밍 언어를 컴파일하는 동안 소스 코드는 플랫폼, 프로세서 특유의 목적 코드가 아닌, 공통 중간 언어 코드로 변환된다. 공통 중간 언어는 닷넷 프레임워크를 지원하는 환경에서 실행할 수 있는 CPU와 플랫폼 독립 명령어 세트이다. 공통 중간 코드는 실행되는 동안에 안전 여부를 확인함으로써 완전한 이진 파일보다 더 나은 보안과 신뢰성을 제공한다.

명칭 
CIL은 원래 닷넷 언어의 베타 버전을 공개하는 동안 마이크로소프트 중간 언어 (MSIL)로 알려져 있던 것이다. C#과 공통 언어 기반의 표준화로 인해, 바이트코드는 이제 공식적으로 CIL로 알려져 있다. 이러한 까닭으로 CIL은 아직도 MSIL로 불리는 일이, 특히 닷넷 언어를 오래 사용해 오던 사용자들에게 많다.

헬로 월드 프로그램 
공통 중간 언어의 헬로 월드 프로그램은 다음과 같다.
.assembly Hello {}
.assembly extern mscorlib {}
.method static void Main()
{
    .entrypoint
    .maxstack 1
    ldstr "Hello, world!"
    call void [mscorlib]System.Console::WriteLine(string)
    ret
}

각주

외부 링크 
 공통 언어 기반 (표준 ECMA-335) (최신 버전은 2012년 6월의 제 6판)

닷넷 프레임워크