Опубликован: 24.11.2024 | Доступ: свободный | Студентов: 1 / 0 | Длительность: 02:06:00
Лекция 3:

Системы компиляции

< Лекция 2 || Лекция 3: 123 || Лекция 4 >

Введение в систему компиляции GCC

Популярный компилятор gcc поставляется вместе с тулчейном gcc. Его можно загрузить с зеркальных сайтов GCC. Чтобы загрузить предварительно скомпилированные двоичные файлы, готовые к использованию, перейдите на страницу Установка GCC: двоичные файлы.

Тулчейн содержит следующие каталоги верхнего уровня:

  • bin
  • include
  • lib
  • libexec
  • share

Папка bin содержит все исполняемые двоичные файлы, такие как компилятор C (gcc), компилятор C++ (g++), компилятор Fortran (gfortran) и компилятор D (gdc). В зависимости от дистрибутива он может содержать компилятор Go (gccgo). Он также содержит набор других полезных инструментов, таких как gcov, lto-dump и т.д.

Папка include содержит набор заголовочных файлов, которые включаются во время компиляции. Например, заголовочные файлы C++, такие как iostream и т.д. Обратите внимание, что заголовочные файлы С, такие как stdio.h, не поставляются с тулчейном, потому что они являются частью sysroot.

Папка lib содержит такие библиотеки, как libstdc++, libatomic и т. д. Эти библиотеки могут использоваться компилятором gcc в процессе компиляции или могут использоваться как повторно используемый набор библиотек.

Папка libexec содержит двоичные файлы, которые вызываются программами-драйверами (gcc, g++, gdc). Например, gcc вызывает cc1 (компилятор C), collect2 (компоновщик), lto1 (оптимизатор времени компоновки) и т.д.

В папке share содержится документация, которая может быть установлена в виде man-страниц, а также неосновной набор скриптов.

Полезные ресурсы
Список рассылок

Введение в систему компиляции LLVM

Проект LLVM - это коллекция модульных и переиспользуемых технологий компилятора и тулчейна. Предварительно собранные двоичные файлы системы компиляции LLVM можно загрузить со страницы LLVM. Тулчейн также можно собрать из исходных файлов, следуя инструкциям со страницы документации. Тулчейн содержит следующие каталоги верхнего уровня:

  • bin
  • include
  • lib
  • libexec
  • share

Папка bin содержит все исполняемые двоичные файлы, такие как компилятор clang и набор других полезных инструментов, таких как clang-rename, clang-refactor.

Папка include содержит набор заголовочных файлов, которые включаются во время компиляции. Например, заголовочные файлы C++, например, iostream. Обратите внимание, что заголовочные файлы C, такие как stdio.h, не поставляются с набором инструментов, потому что они являются частью sysroot. Он также содержит заголовочные файлы, которые используются при использовании библиотек llvm для сборки инструментов.

Папка lib содержит такие библиотеки, как libc`, `libcabi. Они могут использоваться компилятором clang в процессе компиляции или могут использоваться как повторно используемый набор библиотек.

Папка libexec содержит два скрипта Python, которые подходят только для использования статического анализатора clang.

Папка share содержит документацию, которую можно установить в виде справочных страниц, и необязательный набор скриптов.

Полезные ресурсы
Список рассылок
< Лекция 2 || Лекция 3: 123 || Лекция 4 >