Набор инструментов компиляции, который преобразует код на C и C++ в WebAssembly для запуска в браузерах, Node.js и других Wasm-средах.
llvm/llvm-project
Модульный набор технологий для компиляторов и инструментальных цепочек, включающий LLVM core, фронтенд Clang для C/C++, libc++ и линкер LLD.
- Звёзды
- 41,146
- Форки
- 19,227
- Открытые issues
- 40,870
- Последний коммит
- 3 часа назад
Что это?
LLVM — это набор инструментов для создания оптимизирующих компиляторов, оптимизаторов и сред выполнения. Компонент LLVM core предоставляет библиотеки, инструменты и заголовочные файлы для обработки промежуточных представлений и преобразования их в объектные файлы. В его состав входят ассемблер, дизассемблер, анализатор bitcode и оптимизатор bitcode.
В проект также входит Clang — фронтенд, который компилирует код на C, C++, Objective-C и Objective-C++ в bitcode LLVM, а затем в объектные файлы. Среди других компонентов этого репозитория — стандартная библиотека C++ libc++ и линкер LLD.
Этот репозиторий объединяет перечисленные проекты в монорепозитории: разработчики компиляторов, инструментов для языков программирования и генераторов кода могут работать с общей инфраструктурой в одном месте.
Ключевые возможности
- 01Предоставляет переиспользуемую инфраструктуру промежуточного представления и генерации кода.
- 02Включает Clang — фронтенд для C, C++, Objective-C и Objective-C++.
- 03Включает libc++ — реализацию стандартной библиотеки C++.
- 04Включает линкер LLD и другие компоненты инструментальной цепочки.
- 05Предоставляет инструменты, такие как ассемблер, дизассемблер и оптимизатор bitcode.
Сценарии использования
- Создание компилятора или генератора кода для нового языка программирования.
- Компиляция проектов на C или C++ с помощью инструментальной цепочки Clang.
- Написание проходов оптимизации для промежуточного представления LLVM.
- Компоновка нативных бинарных файлов с помощью линкера LLD.
Быстрый старт
- 1
Прочитайте руководство Getting Started по сборке LLVM из исходного кода
- 2
Получите исходный код и соберите LLVM
Что важно знать
- Сборка из исходного кода — масштабная задача, требующая значительного времени на компиляцию и большого объёма дискового пространства.
- В README не описан способ установки через менеджер пакетов, поэтому LLVM нужно собрать из репозитория.
Темы
Частые вопросы
- Что такое llvm-project?
- Модульный набор технологий для компиляторов и инструментальных цепочек, включающий LLVM core, фронтенд Clang для C/C++, libc++ и линкер LLD. LLVM — это набор инструментов для создания оптимизирующих компиляторов, оптимизаторов и сред выполнения. Компонент LLVM core предоставляет библиотеки, инструменты и заголовочные файлы для обработки промежуточных представлений и преобразования их в объектные файлы. В его состав входят ассемблер, дизассемблер, анализатор bitcode и оптимизатор bitcode.
- llvm-project можно использовать бесплатно? Какая у него лицензия?
- llvm-project распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- llvm-project всё ещё поддерживается?
- Активно поддерживается. Последний коммит в llvm-project — 22 окт. 2026 г..
- Для чего можно использовать llvm-project?
- Создание компилятора или генератора кода для нового языка программирования. Компиляция проектов на C или C++ с помощью инструментальной цепочки Clang. Написание проходов оптимизации для промежуточного представления LLVM. Компоновка нативных бинарных файлов с помощью линкера LLD.
- Как установить llvm-project?
- Прочитайте руководство Getting Started по сборке LLVM из исходного кода Получите исходный код и соберите LLVM
- Где скачать llvm-project?
- Исходный код и инструкции по установке — на GitHub: https://github.com/llvm/llvm-project
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Go — язык программирования с открытым исходным кодом для создания простого, надёжного и эффективного ПО.
Компилятор Go на базе LLVM для микроконтроллеров, WebAssembly (WASM/WASI) и инструментов командной строки.
Библиотека компилятора и оптимизатора на C++ для WebAssembly, включающая инструмент wasm-opt и сборку для JavaScript — binaryen.js.
Простой и быстрый компилируемый язык для удобного сопровождения кода: без зависимостей от библиотек, с автоматическим переводом C в V.
Быстрый низкоуровневый парсер и компилятор Markdown для JavaScript, работающий в браузерах, Node.js и командной строке.