web-dev-qa-db-ja.com

ClangとLLVM-リリースビルドとデバッグビルド

簡単な質問のようですが、理解するのに時間がかかります...

LLVM + Clangを構築するための手順 では、ReleaseおよびDebug構成言及されています。のデバッグバージョンは次のとおりです。

  • LLVM/Clang自体のデバッグ、

OR

  • Clang + LLVMでビルドしようとしているアプリケーションをデバッグしますか?

最初は前者を想定していましたが、(1)デフォルトであり、(2)デバッグモードを構築するように指示する複数の命令セットが見つかりました。(3)関心があると想定している間比較的少数のユーザーに—ほとんどのユーザーはuseClang + LLVMを使用し、コンパイラー設計の最適化の複雑さを掘り下げたくないでしょう。

私は、GCCの代わりにClangを使用して、聞いたことから、より良いエラーメッセージを利用することだけを計画していますが、willプログラムをデバッグする必要がありますGDBで生成されます。 Clangのリリースバージョンで十分ですか?

(デバッグバージョン 数GB であり、ビルドに時間がかかる可能性があるため、簡単な方法を見つけたいと思います。)

さらに、 同じページでONLY_TOOLS="tools you need"を指定する必要があると表示されますが、選択できるリストはどこにありますか?

14
Evgeni Sergeev

前者は正しいです-コンパイラをデバッグする場合にのみ、デバッグモードでLLVMとClangをビルドする必要があります。生成されたアプリケーションをデバッグする場合は、デバッグシンボルを使用してコンパイルする必要があります。つまり、プログラムのビルド時に-gフラグをClangに渡します。これは、LLVMとClangがビルドされたモードに関係なく有効になります。

したがって、必要に応じて、リリースモードでコンパイルする必要があります。

あなたの質問については-なぜそれがデフォルトなのか-それを実行したいのであれば、ダウンロードする代わりに ビルド済みのバイナリ を取得すると想定されているためだと思いますソースコードの作成。

また、あなたが潜入した最後の質問に関しては、 このLLVMツールのリスト のツールを参照していると思います。

17
Oak