Clang. Часть 1: введение
Что такое Clang?
Я провёл последние несколько месяцев, работая с Clang, фронтендом LLVM. Clang умеет парсить и анализировать любой исходный код на языках семейства С (C, C++, ObjectiveC, и т.п....) и имеет удивительную модульную структуру, которая делает его простым в использовании.

Если вы ищете статический анализатор кода, я настоятельно рекомендую Clang, он существенно превосходит другие статические анализаторы (такие, как CIL...) и хорошо документирован. Также список рассылки Clang очень активен и полезен, если вы застряли на чём-то.
Лично я использую Clang для статического анализа драйверов ввода-вывода ядра Linux, включая драйвера камеры и драйвера DRM графической карты. Код ядра, особенно код драйвера, может быть очень сложным и трудным для анализа, но Clang позволяет нам легко поддерживать его. Давайте посмотрим, что можно сделать с его помощью.








Приглашаем вас на очередную встречу C++ User Group, которая пройдет 28 июня в рамках нашей event-платформы CoLaboratory. В прошлый раз мы обсуждали перформанс и Clang Static Analyser. Теперь поговорим о наболевшем: как избавиться от legacy-кода? Как избежать его образования в дальнейшем? Какие сложности возникают при апгрейде протокола взаимодействия, и как с ними справиться?

