====== LLVM ====== http://llvm.org/ Low Level Virtual Machine. **[[가상머신]]과 하등의 관계가 없는** [[컴파일러]] 라이브러리. 이름에 가상머신이 들어 간 이유는 오로지 [[중간코드]]가 타겟 [[컴퓨터아키텍처|아키텍처]]와 상관 없이 실행될 수 있기 때문이다. LLVM 자체는 중간코드를 다루는 라이브러리 및 툴셋이지만, 부프로젝트로 [[C언어]]/[[Cpp]]/[[Objective-C]] 컴파일러([[Clang]]), [[디버거]](lldb), [[GCC]] 어댑터(dragonegg) 따위가 딸려 있으므로 실질적으로는 그냥 컴파일러 [[종합선물세트]]라고 할 수 있다. 본래는 일리노이 대학교(UIUC)에서 연구 목적으로 만들어진 라이브러리였으나(라이선스에 그 흔적이 남아 있다) LLVM이 GCC랑 비슷한 성능을 내면서도 구조가 훨씬 깔끔하다는 점 때문에 점차 관심이 높아져, 안 그래도 [[Xcode]] 등등에서 모듈화된 컴파일러를 쓸 일이 많은 [[애플사|애플]]이 개발팀을 통째로 흡수(...)하여 현재까지 개발하고 있다. 외부에서 개발한 프론트엔드를 제외한 LLVM의 코드는 [[Cpp]]로 되어 있다. ===== LLVM을 사용하는 다른 프로젝트들 ===== * [[Clang]] (C/C++/Objective-C 프론트엔드) * [[http://www.dsource.org/projects/ldc|LDC]] ([[D언어]] 프론트엔드) * [[https://github.com/kripken/emscripten|Emscripten]] (**[[자바스크립트]]** 백엔드) {{tag>소프트웨어}}