これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの 3.5 つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド clang-modernize-XNUMX です。
プログラム:
NAME
Clang-modernize - Clang-modernize 3.5 のマニュアル ページ
DESCRIPTION
使用方法: Clang-modernize [オプション] [ ...]
オプション:
書式設定オプション:
-フォーマット - 置換を適用して変更されたコードのフォーマットを有効にします。
スタイル をクリックして書式スタイルを選択します。
-style =- コーディング スタイル、現在サポートされているもの:
LLVM、Google、Chromium、Mozilla、WebKit。
スタイル=file スタイル設定をロードする
ソース ファイルの親ディレクトリの XNUMX つにある .clang-format ファイル (または
標準入力の現在のディレクトリ)。 使用 -style =「{key: value, ...}」で特定の値を設定します
パラメータ、例:
-style ="{BasedOnStyle: llvm、IndentWidth: 8}"
-style-config=- .clang 形式のファイルが含まれるディレクトリへのパス
コードの書式設定に使用する書式設定スタイルを記述します。 スタイル=file.
包含/除外オプション:
-除外=- 変換できないパスのカンマ区切りリスト
-除外対象=- 変換できないパスのリストを含むファイル
-include=- 変換の対象となるパスのカンマ区切りのリスト
-include-from=- 変換の対象となるパスのリストを含むファイル
モダナイザーのオプション:
-最終構文チェック - 変換を適用した後に構文が正しいかどうかを確認します
-コンパイラ用=- の交差をターゲットとする変換を選択します。
指定されたコンパイラでサポートされる言語機能。 カンマ区切りのリストを取得します
の- 。
Clang、gcc、icc、msvc のいずれかになります。
は[。 ]
-助けて -利用可能なオプションを表示します(-ヘルプ-非表示 多くのための)
-ヘルプリスト -利用可能なオプションのリストを表示します(-ヘルプリスト-非表示 for
もっと)
-perf=- パフォーマンスデータをキャプチャし、指定したディレクトリに出力します。
デフォルト: ./merge_perf
-危険 - 最大リスク レベルを選択します。
=safe - 安全な変換のみ
=合理的
- セマンティクスを変更する可能性のある変換を有効にする (デフォルト)
=risky - セマンティクスを変更する可能性のある変換を有効にします
-まとめ - 変換の概要を印刷します
-バージョン -このプログラムのバージョンを表示します
シリアル化オプション:
-シリアル化ディレクトリ=- 書き込み先の既存のディレクトリへのパス
シリアル化された代替品。 デフォルトの動作では、一時ディレクトリに書き込みます。
-serialize-置換 - 変換単位の置換を、代わりにディスクにシリアル化します。
ファイルを変更しています。
変換:
-追加-オーバーライド - 可能な場合はオーバーライド指定子を使用します。
-ループ変換 - 可能な場合は範囲ベースの 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 ツールのセットアップについて説明します。
... ソースファイルのパスを指定します。 これらのパスは、
コンパイルコマンドデータベースで調べました。 ファイルのパスが絶対パスの場合、
CMake のソース ツリーを指す必要があります。 パスが相対パスの場合、現在の
作業ディレクトリは CMake ソース ツリー内にある必要があり、ファイルは
現在の作業ディレクトリのサブディレクトリ。 相対ファイル内の「./」プレフィックス
は自動的に削除されますが、相対パスの残りの部分は接尾辞である必要があります。
コンパイルコマンドデータベース内のパス。
例:
コンパイル引数を必要としないファイルにすべての変換を適用します。
Clang-modernize file.cpp
コンパイル データベース内のすべてのファイルについて、for ループを範囲ベースの for ループに変換します。
プロジェクトのサブツリーに属し、LLVM スタイルを使用してコードを自動的に再フォーマットします。
クランモダナイズ -p ビルド/パス -含める プロジェクト/パス -フォーマット -ループ変換
git ls-files を使用して、nullptr とオーバーライド指定子の両方を使用します。
git ls-files '*.cpp' | xargs -I{} クラングモダナイズ -p ビルド/パス \
-nullptr を使用 -追加-オーバーライド -オーバーライドマクロ {}
Clang >= 3.0 と gcc >= 4.7 の両方でサポートされているすべての変換を foo.cpp および任意のファイルに適用します。
バーに含まれるヘッダー:
クランモダナイズ -コンパイラ用=クラン3.0,gcc-4.7 foo.cpp \
-含める バー -- -標準=c++ 11 -イバー
onworks.net サービスを使用して、clang-modernize-3.5 をオンラインで使用する