Это команда clang-modernize-3.5, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
clang-modernize - страница руководства для clang-modernize 3.5
ОПИСАНИЕ
ИСПОЛЬЗОВАНИЕ: clang-modernize [параметры] [ ...]
ОПЦИИ:
Параметры форматирования:
-формат - Включить форматирование кода, измененного путем применения замен.
Используйте Стиль выбрать стиль форматирования.
-style =- Стиль кодирования, в настоящее время поддерживает:
LLVM, Google, Chromium, Mozilla, WebKit.
Используйте Стиль=файл загрузить конфигурацию стиля из
Файл в формате .clang, расположенный в одном из родительских каталогов исходного файла (или
текущий каталог для стандартного ввода). Использовать -style ="{key: value, ...}", чтобы установить определенные
параметры, например:
-style ="{BasedOnStyle: llvm, IndentWidth: 8}"
-style-config =- Путь к каталогу, содержащему файл в формате .clang
описание стиля форматирования, используемого для кода форматирования, когда Стиль=файл.
Варианты включения / исключения:
-exclude =- Список путей, разделенных запятыми, которые нельзя преобразовать
-exclude-from =- Файл, содержащий список путей, которые нельзя преобразовать
-include =- Список путей, разделенных запятыми, которые следует считать преобразованными
-include-from =- Файл, содержащий список путей для преобразования
Параметры модернизатора:
-конечная-синтаксическая-проверка - Проверьте правильность синтаксиса после применения преобразований.
-for-compilers =- Выберите преобразования, нацеленные на пересечение
языковые функции, поддерживаемые данными компиляторами. Принимает список, разделенный запятыми
из - .
может быть любым из: clang, gcc, icc, msvc
является [. ]
-Помощь - Показать доступные параметры (-помощь-скрытый для большего)
-помощь-список - Показать список доступных опций (-help-список-скрытый для
более)
-perf =- Захват данных о производительности и вывод в указанный каталог.
По умолчанию: ./migrate_perf
-риск - Выберите максимальный уровень риска:
= safe - Только безопасные преобразования
= разумно
- Включить преобразования, которые могут изменить семантику (по умолчанию)
= risky - разрешить преобразования, которые могут изменить семантику.
-резюме - Распечатать сводку преобразования
-версия - Показать версию этой программы
Параметры сериализации:
-serialize-dir =- Путь к существующему каталогу для записи
сериализованные замены. По умолчанию выполняется запись во временный каталог.
-сериализовать-замены - Сериализовать замену единиц перевода на диск вместо
изменение файлов.
Преобразует:
-добавить-переопределить - По возможности используйте спецификатор переопределения
-петля-преобразование - По возможности используйте циклы for на основе диапазона
-передача по значению - По возможности передавайте параметры по значению
-replace-auto_ptr - Замените std :: auto_ptr (устарело) на std :: unique_ptr
(ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ)
-использовать-авто - Использование спецификатора типа auto
-использовать-nullptr - По возможности используйте ключевое слово nullptr
Варианты трансформ:
-override-макросы - Обнаружение и использование макросов, которые расширяются до ключевого слова «переопределить».
-пользователь-нуль-макросы =- Разделенный запятыми список определяемых пользователем имен макросов, которые ведут себя
как NULL
-p используется для чтения базы данных команд компиляции.
Например, это может быть каталог сборки CMake, в котором находится файл с именем
compile_commands.json существует (используйте -DCMAKE_EXPORT_COMPILE_COMMANDS=ON Вариант CMake
чтобы получить этот результат). Если путь сборки не указан, поиск
compile_commands.json будет выполняться по всем родительским путям первого ввода
файл . Видеть: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html для примера
настройки Clang Tooling на дереве исходных текстов.
... указать пути к исходным файлам. Эти пути
поискал в базе данных команд компиляции. Если путь к файлу абсолютный, он
должен указывать на исходное дерево CMake. Если путь относительный, текущий
рабочий каталог должен находиться в дереве исходных текстов CMake, а файл должен находиться в
подкаталог текущего рабочего каталога. Префиксы "./" в относительных файлах
будет автоматически удален, но остальная часть относительного пути должна быть суффиксом
путь в базе данных команд компиляции.
ПРИМЕРЫ:
Примените все преобразования к файлу, который не требует аргументов компиляции:
clang-модернизировать файл.cpp
Преобразование циклов for в циклы for на основе диапазона для всех файлов в базе данных компиляции, которые
принадлежат поддереву проекта, а затем автоматически переформатируют код, используя стиль LLVM:
лязгать-модернизировать -p сборка / путь -включают проект / путь -формат -петля-преобразование
Используйте как nullptr, так и спецификатор переопределения, используя git ls-files:
git ls-files '* .cpp' | xargs -I{} лязг-модернизировать -p сборка / путь \
-использовать-nullptr -добавить-переопределить -override-макросы {}
Примените все преобразования, поддерживаемые clang> = 3.0 и gcc> = 4.7, к foo.cpp и любому
включены заголовки в панели:
лязгать-модернизировать -для компиляторов=лязг-3.0, gcc-4.7 foo.cpp \
-включают бар -- -стандарт=c++ 11 -Ибар
Используйте clang-modernize-3.5 онлайн с помощью сервисов onworks.net