Jest to polecenie clang-modernize-3.5, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
clang-modernize - strona podręcznika dla clang-modernize 3.5
OPIS
ZASTOSOWANIE: clang-modernize [opcje] [ ...]
OPCJE:
Opcje formatowania:
-format - Włącz formatowanie kodu zmienionego przez zastosowanie zamienników.
Zastosowanie -Style aby wybrać styl formatowania.
-styl=- Styl kodowania, obecnie obsługuje:
LLVM, Google, Chromium, Mozilla, WebKit.
Zastosowanie -Style=filet aby załadować konfigurację stylu z
plik w formacie .clang znajdujący się w jednym z katalogów nadrzędnych pliku źródłowego (lub
bieżący katalog dla stdin). Posługiwać się -styl="{klucz: wartość, ...}", aby ustawić konkretny
parametry, np.:
-styl=„{BasedOnStyle: llvm, IndentWidth: 8}”
-style-config=- Ścieżka do katalogu zawierającego plik w formacie .clang
opisywanie stylu formatowania używanego do formatowania kodu, gdy -Style=filet.
Opcje włączenia/wyłączenia:
-wyklucz=- Lista oddzielonych przecinkami ścieżek, których nie można przekształcić
-wyklucz-z=- Plik zawierający listę ścieżek, których nie można przekształcić
-zawiera=- Lista oddzielonych przecinkami ścieżek, które należy uznać za przekształcone
-zawiera-z=- Plik zawierający listę ścieżek, które należy uznać za przekształcone
Opcje modernizacji:
-ostateczne-sprawdzanie-składni - Sprawdź poprawność składni po zastosowaniu transformacji
-dla-kompilatorów=- Wybierz transformacje kierujące się na skrzyżowanie
funkcje językowe obsługiwane przez dane kompilatory. Pobiera listę oddzieloną przecinkami
z - .
może być dowolnym z: clang, gcc, icc, msvc
jest [. ]
-Pomoc - Wyświetl dostępne opcje (-ukryta pomoc po więcej)
-lista-pomocy - Wyświetl listę dostępnych opcji (-pomoc-lista-ukryta dla
jeszcze)
-perf=- Przechwytywanie danych o wydajności i wyjście do określonego katalogu.
Domyślnie: ./migrate_perf
-ryzyko - Wybierz maksymalny poziom ryzyka:
=bezpieczna — tylko bezpieczne przekształcenia
=rozsądne
- Włącz transformacje, które mogą zmienić semantykę (domyślnie)
=ryzykowne — Włącz przekształcenia, które mogą zmienić semantykę
-streszczenie - Wydrukuj podsumowanie transformacji
-wersja - Wyświetl wersję tego programu
Opcje serializacji:
-serialize-katalog=- Ścieżka do istniejącego katalogu, w którym pisać
seryjne zamienniki. Domyślnym zachowaniem jest zapis do katalogu tymczasowego.
-serialize-zamienniki - Serializuj zamiany jednostek tłumaczeniowych na dysk zamiast
zmiana plików.
Przekształcenia:
-dodaj nadpisanie - W miarę możliwości korzystaj ze specyfikatora override
-konwersja pętli - W miarę możliwości korzystaj z pętli opartych na zakresach
-przekaż-wartość - Przekaż parametry według wartości, jeśli to możliwe
-zamień-auto_ptr - Zastąp std::auto_ptr (przestarzałe) std::unique_ptr
(EKSPERYMENTALNY)
-użyj-auto - Użycie specyfikatora typu „auto”
-use-nullptr - W miarę możliwości używaj słowa kluczowego nullptr
Opcje transformacji:
-override-makra - Wykrywaj i używaj makr, które rozwijają się do słowa kluczowego „zastępowanie”.
-user-null-makra=- Oddzielona przecinkami lista nazw makr zdefiniowanych przez użytkownika, które się zachowują
jak NULL
-p służy do odczytywania kompilacji bazy danych poleceń.
Na przykład może to być katalog kompilacji CMake, w którym znajduje się plik o nazwie
compile_commands.json istnieje (użyj -DCMAKE_EXPORT_COMPILE_COMMANDS=ON Opcja CMake
aby uzyskać ten wynik). Jeśli nie określono ścieżki budowania, wyszukaj
compile_commands.json zostanie podjęty przez wszystkie ścieżki nadrzędne pierwszego wejścia
plik . Widzieć: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html dla przykładu
konfiguracji Clang Tooling na drzewie źródłowym.
... określ ścieżki plików źródłowych. Te ścieżki są
wyszukane w bazie danych komend kompilacji. Jeśli ścieżka do pliku jest bezwzględna, to
musi wskazywać na drzewo źródłowe CMake. Jeśli ścieżka jest względna, prąd
katalog roboczy musi znajdować się w drzewie źródłowym CMake, a plik musi być w
podkatalog bieżącego katalogu roboczego. Prefiksy "./" w plikach względnych
zostanie automatycznie usunięty, ale reszta względnej ścieżki musi być przyrostkiem
ścieżka w bazie danych komend kompilacji.
PRZYKŁADY:
Zastosuj wszystkie przekształcenia do pliku, który nie wymaga argumentów kompilacji:
clang-modernize plik.cpp
Konwertuj pętle for na pętle for oparte na zakresie dla wszystkich plików w bazie danych kompilacji, które:
należeć do poddrzewa projektu, a następnie automatycznie ponownie sformatować kod przy użyciu stylu LLVM:
klang-modernizuj -p budowa/ścieżka -zawierać projekt/ścieżka -format -konwersja pętli
Wykorzystaj zarówno nullptr, jak i specyfikator override, używając git ls-files:
git ls-files '*.cpp' | xargs -I{} klang-modernizuj -p kompilacja/ścieżka \
-use-nullptr -dodaj nadpisanie -override-makra {}
Zastosuj wszystkie transformacje obsługiwane przez clang >= 3.0 i gcc >= 4.7 do foo.cpp i any
zawarte nagłówki w pasku:
klang-modernizuj -dla-kompilatorów=brzęk-3.0,gcc-4.7 foo.cpp \
-zawierać bar -- -std=c++ 11 -Ibar
Korzystaj z clang-modernize-3.5 online za pomocą usług onworks.net