차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

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>소프트웨어}}

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-05-30 18:25 | 외부 편집기