Clang (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Clang. Дата последней синхронизации: 12 февраля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Clang — это компилятор C/C++/Objective c/CUDA на основе LLVM. Доступен по лицензии "Apache 2.0 License with LLVM exceptions".

Установка

Установите пакет clang.

Сборка пакетов с использованием Clang

Добавьте export CC=clang и (для C++) export CXX=clang++ в файл /etc/makepkg.conf. Для поддержки LTO также установите пакет lld и добавьте -fuse-ld=lld в LDFLAGS в файле /etc/makepkg.conf. Если вы выполняете сборку с debug, удалите -fvar-tracking-assignments из DEBUG_CFLAGS и DEBUG_CXXFLAGS, так как Clang их не поддерживает.

Пакеты, которые используют специфичные для GCC опции компиляции, могут не собраться и потребовать ручного изменения исходников, файла PKGBUILD или отключения строк Clang в makepkg.conf.

Использование статического анализатора

Чтобы проанализировать проект, добавьте scan-build перед командой сборки. Например:

$ scan-build make

Если проект уже собран, scan-build не станет его пересобирать и не проанализирует. Чтобы принудительно запустить повторую сборку и анализ, используйте опцию -B:

$ scan-build make -B

Также можно проанализировать отдельные файлы:

$ scan-build gcc -c t1.c t2.c

Советы и рекомендации

Автодополнение в bash

Установите bash-completion и выполните source /usr/share/clang/bash-autocomplete.sh в файле настроек Bash.

Смотрите также