問題タブ [clang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - Xcode 3.2.1GCCCLANGおよびLLVMの謎解き
今週の新しいXcode3.2.1に含まれているreadmeには、次のように書かれています。
- 静的コード分析は、[ビルド]メニューの[ビルドと分析]オプションまたはカスタムビルド設定を介して、XcodeIDEに完全に統合されています。
- GCC 4.2は、10.6SDKのデフォルトのシステムコンパイラです。
- オプションのLLVMコンパイラーは、2つの異なるフロントエンドを使用して含まれています。Clangコンパイラーは、コンパイル時間を大幅に改善する最先端のパーサーです。最大限の互換性を実現するために、GCCLLVMコンパイラーはGCC4.2パーサーを備えたLLVMバックエンドを利用します。
- 新しいオプションのClang-LLVM1.0コンパイラーは、はるかに高速なClangフロントエンドパーサーをLLVMバックエンドコンパイラーと組み合わせて使用し、高速コンパイルと高速実行可能コードを実現します。GCC 4.2は依然としてシステムのデフォルトですが、多くのプロジェクトはこのコンパイラの組み合わせから恩恵を受けます。Clang-LLVM 1.0コンパイラは、C ++コードを検出すると、LLVM-GCC4.2の使用にフォールバックします。
当社には、デスクトップおよびiPhone向けの純粋なC、Objective-C、およびObjective-C++の既存のプロジェクトがあります。誰かがLLVM、GCC、CLANG、CLANG-LLVM、WordFooなどの違いを大まかに要約できますか?al。そして、それらが何であるか、そしていつ、そして何のために使用すべきかを説明しますか?より詳細な説明へのリンクがあるといいのですが、私は本当に高レベルの概要を探しています。
c - #define ディレクティブを使用して LLVM とそのバージョンを検出する方法は?
質問は非常に明確だと思います。どのコンパイラが使用され、どのバージョンが使用されたかという情報をアプリケーションに含めることができるように、コンパイラ検出ヘッダーを作成しようとしています。
これは私が使用しているコードの一部です:
次のように使用できます。
LLVM とそのバージョンを検出する方法はありますか? そしてCLANG?
xcode - Xcode 3.2 で LLVM Clang 2.6 を使用する
それで、LLVM Clang (2.6) バイナリをダウンロードしました。
Mac OS X 10.6 には Clang 1.0 が付属しています。
Clang の新しいバージョンを Xcode 3.2.x IDE に統合する方法を知っていますか?
ファイルを上書きするだけでは少し危険に思えます。
visual-studio - -MS Visual Studio C++ コンパイラ用の isystem
私は通常、プログラミング時に多くの警告を有効にしたいと思っています。ただし、一部のライブラリには、簡単に警告を発生させるコードが含まれています (..、python、Qt、..)。gcc でコンパイルするときは、 -I の代わりに -isystem を使用してそれを黙らせることができます。MS コンパイラで同じことを行うにはどうすればよいですか? #pragma の警告については知っていますが、コンパイラ固有のコードを随所に使用しないソリューションが必要です。特定の警告をオフにできることも知っていますが、それも私が望んでいることではありません。
ところで: isystem はこの質問のタグである必要がありますが、それを行うことは許可されていません..
概要: コードからのすべての警告を表示し、外部コードからの警告は表示しないようにしたいと考えています。
visual-studio-2008 - Windows での Clang 静的アナライザー
Windows で clang 静的アナライザーの実行に成功した人はいますか?
llvm と clang のビルドに成功しました (VS 2008 を使用)。scan-build を実行すると、次のエラーが発生します。
一部の調査によると、getpwuidは Windows プラットフォームではサポートされていません。
objective-c - replysToSelectorを使用するときに、「'…'は非推奨」を抑制します
実行時に最新のAPIを選択することで、10.4以降をサポートしています。
この場合、10.5以降が使用されremoveItemAtPath:error:
、10.4が使用されますremoveFileAtPath:handler:
。すばらしいですが、古いメソッドに対してコンパイラの警告が表示されます。
if([… respondsToSelector:@selector(…)]){ … } else { … }
コンパイラ(Clang)がその行で警告しないようにヒントを与える構文はありますか?
そうでない場合、無視されるその行にタグを付ける方法はあり-Wdeprecated-declarations
ますか?
いくつかの答えを見た後、コンパイラーを混乱させて、私が何をしているのかわからないようにすることは、有効な解決策ではないことを明確にしておきます。
xcode - Xcode で llvm 中間表現を表示するにはどうすればよいですか
Xcode 3.2.1でclang-llvm 1.0でコンパイルしています
LLVMの中間表現を見たいです。これを行うにはどうすればよいですか?
iphone - Build and Analyze コマンドで明らかなメモリ管理エラーが検出されないのはなぜですか?
何らかの理由で、私の Xcode の Clang Static Analyzer は何も文句を言いません。私はそれを試すために大きなメモリ管理の間違いを犯しました(割り当てと解放なし)が、それらを見つけることはなく、それらについて不平を言うこともありません。すべてのターゲットをクリーンアップした後でも、もう一度ビルドして分析します。
Simulator 3.1用に構築していました
それを具体的に設定する必要がありますか?特別なコンパイラ設定など?どのように?
parsing - llvm-clang: インクリメンタルまたはオンラインパーサー?
インクリメンタル/オンラインでllvm-clangパーサーを使用する方法はありますか?
エディターを書いていて、目の前にある C++ コードを解析できるようにしたいとします。
私は独自のハッキングされたパーサーを書きたくありません。
llvm-clang のようなフル機能のものを使用したいと思います。
llvm-clang パーサーを乗っ取る簡単な方法はありますか? (そして、バックグラウンドで継続的に実行するのに十分な速さですか)?
ありがとう!
ubuntu - ブロックを使用するclangプログラムに対してリンクする必要があるライブラリはどれですか?
ブロックを使用するコードをコンパイルするときに -fblocks を使用する必要があることを (以下で) 発見しました。
リンカーが _NSConcreteStackBlock を解決できるようにするには、どのライブラリに対してリンクする必要がありますか? (Ubuntu 9.10 AMD64 で。)