이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.
— |
llvm [2011-05-30 18:25] (현재) |
||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ====== 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>소프트웨어}} |