Clang (Русский)

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

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

Установка

Установите пакет 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 и , так как Clang их не поддерживает.

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

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

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

$ scan-build make

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

$ scan-build make -B

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

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

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

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

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

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

gollark: I assume it's a member cache issue, actually.
gollark: Yes.
gollark: It's not TC. You can't load infinite gates in.
gollark: I found out that python, at least, will happily run ZIPs concatted onto a PNG.
gollark: Sad.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.