C와 C++ 코드를 WebAssembly로 컴파일해 브라우저, Node.js 및 기타 Wasm 런타임에서 실행할 수 있게 하는 컴파일러 툴체인입니다.
llvm/llvm-project
LLVM 코어, Clang C/C++ 프런트엔드, libc++ 및 LLD 링커를 포함하는 모듈형 컴파일러·툴체인 기술 모음입니다.
- 스타
- 41,146
- 포크
- 19,227
- 열린 이슈
- 40,870
- 마지막 커밋
- 1시간 전
어떤 프로젝트인가요?
LLVM은 최적화 컴파일러와 옵티마이저, 런타임 환경을 구축하기 위한 툴킷입니다. LLVM 코어는 중간 표현을 처리하고 오브젝트 파일로 변환하는 데 필요한 라이브러리, 도구, 헤더 파일을 제공합니다. 여기에는 어셈블러, 디스어셈블러, 비트코드 분석기와 비트코드 옵티마이저가 포함됩니다.
이 프로젝트에는 C, C++, Objective-C, Objective-C++ 코드를 LLVM 비트코드로 컴파일한 뒤 오브젝트 파일로 변환하는 프런트엔드인 Clang도 포함되어 있습니다. 같은 저장소의 다른 구성 요소로는 C++ 표준 라이브러리인 libc++와 LLD 링커가 있습니다.
이 저장소는 이러한 프로젝트의 모노레포이므로, 컴파일러, 언어 도구 또는 코드 생성기를 개발하는 사람들은 공통 인프라를 한곳에서 활용할 수 있습니다.
핵심 기능
- 01재사용 가능한 중간 표현과 코드 생성 인프라를 제공합니다.
- 02C, C++, Objective-C, Objective-C++용 프런트엔드인 Clang을 포함합니다.
- 03C++ 표준 라이브러리 구현체인 libc++를 제공합니다.
- 04LLD 링커와 그 밖의 툴체인 구성 요소를 포함합니다.
- 05어셈블러, 디스어셈블러, 비트코드 옵티마이저 등의 도구를 제공합니다.
활용 사례
- 새 프로그래밍 언어용 컴파일러나 코드 생성기를 개발합니다.
- Clang 툴체인으로 C 또는 C++ 프로젝트를 컴파일합니다.
- LLVM 중간 표현을 대상으로 최적화 패스를 작성합니다.
- LLD 링커로 네이티브 바이너리를 링크합니다.
빠른 시작
- 1
LLVM을 소스에서 빌드하는 방법을 설명하는 Getting Started 가이드를 읽으세요
- 2
소스 코드를 가져와 LLVM을 빌드하세요
사용 전 알아둘 점
- 소스에서 빌드하는 작업은 규모가 크며, 컴파일에 상당한 시간이 걸리고 디스크 공간도 많이 필요합니다.
- README에는 패키지 관리자를 통한 설치 방법이 안내되어 있지 않으므로 저장소에서 직접 빌드해야 합니다.
토픽
자주 묻는 질문
- llvm-project은(는) 무엇인가요?
- LLVM 코어, Clang C/C++ 프런트엔드, libc++ 및 LLD 링커를 포함하는 모듈형 컴파일러·툴체인 기술 모음입니다. LLVM은 최적화 컴파일러와 옵티마이저, 런타임 환경을 구축하기 위한 툴킷입니다. LLVM 코어는 중간 표현을 처리하고 오브젝트 파일로 변환하는 데 필요한 라이브러리, 도구, 헤더 파일을 제공합니다. 여기에는 어셈블러, 디스어셈블러, 비트코드 분석기와 비트코드 옵티마이저가 포함됩니다.
- llvm-project은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- llvm-project은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- llvm-project은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. llvm-project의 마지막 커밋은 2026년 10월 22일입니다.
- llvm-project은(는) 어디에 사용할 수 있나요?
- 새 프로그래밍 언어용 컴파일러나 코드 생성기를 개발합니다. Clang 툴체인으로 C 또는 C++ 프로젝트를 컴파일합니다. LLVM 중간 표현을 대상으로 최적화 패스를 작성합니다. LLD 링커로 네이티브 바이너리를 링크합니다.
- llvm-project는 어떻게 설치하나요?
- LLVM을 소스에서 빌드하는 방법을 설명하는 Getting Started 가이드를 읽으세요 소스 코드를 가져와 LLVM을 빌드하세요
- llvm-project은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/llvm/llvm-project
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
간단하고 안정적이며 효율적인 소프트웨어를 만들기 위한 오픈소스 프로그래밍 언어 Go입니다.
LLVM 기반 Go 컴파일러로, 마이크로컨트롤러, WebAssembly(WASM/WASI), 명령줄 도구를 대상으로 합니다.
wasm-opt 도구와 JavaScript 빌드(binaryen.js)를 제공하는 WebAssembly용 C++ 컴파일러 및 최적화 라이브러리입니다.
대상 환경에서 실행할 수 있도록 차세대 JavaScript 문법을 변환하는 컴파일러입니다.
유지 관리하기 쉬운 소프트웨어를 위한 간결하고 빠른 컴파일 언어로, 라이브러리 의존성이 없고 C 코드를 V로 자동 변환합니다.