Skip to content

LLVM

LLVM(이전 이름: Low Level Virtual Machine)은 컴파일러의 기반구조이다. 프로그램을 컴파일 타임, 링크 타임, 런타임 상황에서 프로그램의 작성 언어에 상관없이 최적화를 쉽게 구현할 수 있도록 구성되어 있다.

LLVM은 원래는 저수준 가상 기계(low-level virtual machine)의 약자를 가리켰지만, LLVM이 성장하면서 다양한 목적을 가지게 되면서 현재는 이 약자는 사용하지 않는다.

LLVM의 핵심 코드는 'LLVM 라이선스'로 배포되며, 이것은 BSD 라이선스와 비슷한 속성을 가진다. 즉, LLVM을 사용한 프로그램을 배포하였을 때 해당 소스 코드를 공개/배포해야 하는 의무가 없다. 단 LLVM의 프론트엔드를 GNU 컴파일러 모음(GCC) 기반으로 사용할 경우 프론트엔드는 GPL로 배포한다. LLVM 프로젝트에서는 LLVM 라이선스를 가지는 프론트엔드를 위해, Clang이라는 프로젝트를 진행하고 있다.

Category

흔한 컴파일러 오해들

Compiler#흔한 컴파일러 오해들 항목 참조.

See also

Favorite site

Guide