Интересные Страницы «Начало Работы С Основными Библиотеками Llvm»

Я думаю, что для многих людей, как и для меня, книга «Начало работы с основными библиотеками LLVM» покажется интересным.

Это первая книга, полностью посвященная LLVM. В основном, как следует из названия, он ориентирован на новичков, которые только обратили свое внимание на LLVM, но уже имеют опыт программирования на C++.

Глава 1. Сборка и установка LLVM. описывает установку Clang/LLVM на Linux, Windows, Mac (с описанием сборки этой библиотеки в Visual Studio и XCode).

Здесь также рассматривается вопрос о том, что и когда лучше всего выбрать: загрузить уже скомпилированные двоичные файлы, использовать менеджер пакетов или скомпилировать исходники самостоятельно.

Глава 2. Внешние проекты.

Содержит описание проектов, не входящих в ядро библиотеки.

Например: дополнительные утилиты Clang, DragonEgg — плагин для GCC, отладчик LLDB и набор тестов LLVM. Глава 3. Инструменты и архитектура проекта.

Объясняет, как LLVM взаимодействует с различными компонентами.

Предоставляет пример пошагового перевода исходного кода на ассемблер.

Здесь также описывается, как работает драйвер компилятора и, наконец, как написать свою первую утилиту с использованием LLVM. Глава 4. Компилятор .

Описывает инструменты проекта Clang и способы написания утилиты, использующей эти инструменты.

Глава 5. Промежуточное представление LLVM. Описывает одну из наиболее важных частей LLVM — код промежуточного представления (IR).

В нем описывается его синтаксис, структура, что делает его таким важным и как написать программу, создающую такой код. Глава 6. Генератор машинного кода.

Описывает часть LLVM, отвечающую за генерацию машинного кода из IR. Здесь достаточно информации, чтобы создать свой собственный генератор.

Глава 7. JIT-компилятор.

Описаны инструменты LLVM, обеспечивающие JIT-компиляцию, и приведен пример создания собственного JIT-компилятора.

Глава 8. Кроссплатформенная компиляция.

В нем объясняется, как использовать Clang/LLVM для создания программы, предназначенной для работы на других платформах (например, ARM).

Описывает настройку среды для выполнения таких компиляций.

Глава 9. Статический анализатор Clang .

Описан данный анализатор и способы расширения его функциональности с помощью собственных утилит. Глава 10. Библиотека LibTooling. Описана данная библиотека (фреймворк), позволяющая преломлять исходный код. Также описан пример создания собственной утилиты преломления кода на базе LibTooling. На момент написания книги (август 2014 г.

) LLVM 3.5 еще не была выпущена, поэтому все примеры были написаны для LLVM 3.4. Однако авторы обещают со временем сделать (бесплатное) дополнение к книге, перевести все примеры на LLVM 3.5 и разместить их на сайте издателя.

Коротко об авторах: Бруно Кордозо Лопес — участвовал в разработке LLVM с 2007 года.

В рамках этого проекта он принимал участие в разработке генератора кода MIPS, поддержке AVX x86 и улучшении ассемблерного кода для ARM. Рафаэль Аулер — непосредственного участия в разработке LLVM не принимал.

Однако его докторская диссертация связана с LLVM. В список рецензентов входят известные в LLVM люди (например, Эли Бендерский), отсутствие Латтнера огорчает, но, видимо, он очень занят. В целом книга читается легко.

Это не повредит, а зачастую и поможет тем, кто хочет начать использовать LLVM. Теги: #llvm #книги по программированию #компиляторы #Профессиональная литература

Вместе с данным постом часто просматривают: