問題タブ [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.
gcc - std={c,gnu}89 の場合、GCC と Clang でループの初期化を許可しますか?
GCC と Clang を使用して c89 または gnu89 モードでコンパイルするときにループの初期化を有効にするにはどうすればよいですか?
c++ - Clang用リンカー
Clangにはどのリンカーを使用しますか?
リンカーとしてClangまたはGNUリンカー(ld
)を使用すると、標準ライブラリにリンクしていないかのように大量のエラーが発生します。
Clangオブジェクトをリンクするにはg++を使用する必要があるようです。
iphone - XCode Build and Analyzeの結果はどうなりましたか?
これは、実際には回答されなかった別の質問に似ています。Xcode3.2:Build&Analyzeは問題を検出しません
大規模なプロジェクトで初めてXCodeのBuildandAnalyzeを使用し、アナライザーの警告をいくつか思いついた。いくつか修正し、変更がアナライザーによって「受け入れられている」ことを確認したいと思いました。多くのファイルの警告を見ていませんでした。しかし、Build and Analyzeを再実行すると、すべての警告が消えます。
私は試しました:コンパイラをLVVC GCC 4.2に変更し、デバッグからリリースビルドに切り替え、すべてを(繰り返し)クリーンアップし、XCodeを終了して再度開きます。古い警告を取り戻すことができません。
llvm - llvm ir コード ファイル内のすべてのメモリ割り当てを見つけるにはどうすればよいですか?
この C++ コードのスニペットをコンパイルしようとしました。
使用:
そして、これを得ました:
私が今疑問に思っているのは、記号_Znwj
と_Znaj
記号はどこから来たのかということです。それらはランダムに割り当てられているだけですか、それともシステムがありますか? 次の行を伝えたいと思います。
と
メモリ割り当てを実行します。しかし、それほど有望ではないようです。
アイデアを持っているllvmの専門家はいますか?
c++ - LLVMコンパイラ2.0:「名前空間stdを使用しています」という警告。
LLVM 2.0を使用するXcodeusing namespace std;
で、C ++コードに行を挿入すると、次の警告が表示されます。
セマンティックの問題
ディレクティブの使用は、暗黙的に定義された名前空間'std'を参照します
これを修正する方法はありますか?なぜそれはその警告を与えるのですか?
xcode - Xcode 3.2.4でのiPhone開発用の「Clang」の設定:bashコマンドの問題
アプリでメモリリークの追跡を実行したかったのですが、ターミナルで実行すると「コマンドが見つかりません」というエラーメッセージが常に表示されるため、ClangStaticAnalyzerを実行できません。
Macに「.bash_profile」ファイルがなかったので、作成しました。足りないものはありますか?
c++ - llvm / clangで、設計上C++例外を使用しない
llvm / clangは、優れたC++コードベースと見なされます。なぜC++例外がまったく使用されていないのだろうか?
メモリはプールのようなものを使用して管理され、エラーはCのように戻り値とコードで報告されます。メモリがない場合は例外ではなくエラーを返す新しい配置の演算子newをラップします。
ほとんどの本がC++例外の使用を推奨しているのに、llvm哲学がC ++例外を使用しない理由を知っていますか?
c++ - C++0x ラムダを clang ブロックに変換することは可能ですか?
C++0x ラムダを clang ブロックに変換できるかどうか疑問に思いました。これまでのところ、私が見たものには、それらの違いの間の議論が含まれていました. これを調べる主な理由は、 の最終的なラッパーを作成することです。関数libdispatch
についてはよく知っdispatch_*_f
ていますが、ブロックの対応物と比較して、それらの使用に関する情報はまったく不足していました。
これまでのところ、C++ ラムダを関数ポインターに変換する方法に関する情報を見つけることができましたが、これは逆の領域にあります。
誰かがこれに関連することを知っていて、リンクを提供してくれるか、少なくとも正しい方向に向けてくれるなら、本当に感謝しています. (「これは現在不可能です」という回答でも十分です)
c - クランリンカの問題
最新のllvmおよびclangトランクバージョンを試しました。彼らはすぐに警告なしでコンパイルしましたが、Hello World の例をリンクするのに問題があります。私のコードは
を使用してコンパイルすると
次のエラーが表示されます
-v を使用すると、gnu ld が次のように呼び出されることが示されます。
しかし、crt1.o オブジェクト ファイルがあります。
また機能するのは
そしてもちろん
私がさらに試したこと:
また、crt1.o ファイルを現在のディレクトリにコピーしようとしました。それはうまくいったようです。その後、crti.o が欠落していたため、コンパイルできませんでした。
私のディストリビューションはUbuntuです。
さて、私は次に何を試すべきか本当にわかりません。clang を修正する方法がわかりませんし、ld の呼び出しに必要なパスを挿入する方法もわかりません。何か案は?