タグ付けされた質問 「clang」

clang LLVMコンパイラのフロントエンドに関する質問。Cに関する一般的な質問については、Cタグを使用してください。

30
このプログラムが3つのC ++コンパイラによって誤って拒否されるのはなぜですか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 私が書いたC ++プログラムをコンパイルするのが難しいです。 このプログラムは非常にシンプルであり、私の知る限りでは、C ++標準で規定されているすべてのルールに準拠しています。確かに、ISO / IEC 14882:2003の全体を2回読みました。 プログラムは次のとおりです。 このプログラムをVisual C ++ 2010でコンパイルしようとしたときに受け取った出力は次のとおりです。 c:\dev>cl /nologo helloworld.png cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed helloworld.png : fatal error LNK1107: invalid or corrupt file: cannot read at 0x5172 がっかりして、私はg ++ 4.5.2を試しましたが、同様に役に立ちませんでした: c:\dev>g++ helloworld.png helloworld.png: …


14
clangエラー:不明な引数: '-mno-fused-madd'(Pythonパッケージのインストール失敗)
psycopg2Mavericks 10.9でpipを使用してインストールしようとすると、次のエラーが表示されます。 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] 続行する方法がわからず、ここや他の場所でこの特定のエラーを検索しました。どんな助けでも大歓迎です! 以下は、pipからの完全な出力です。 $ pip install psycopg2 Downloading/unpacking psycopg2 Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded Running setup.py (path:/private/var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip_build_tino/psycopg2/setup.py) egg_info for package psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 building 'psycopg2._psycopg' extension cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os …

9
CMakeを使用してGCCとClang / LLVMを切り替える
CMakeを使用してビルドしたプロジェクトがいくつかあり、GCCとClang / LLVMのどちらを使用してコンパイルするかを簡単に切り替えられるようにしたいと考えています。Clangを使用するには、次のように設定する必要があると思います(間違えた場合は修正してください)。 SET (CMAKE_C_COMPILER "/usr/bin/clang") SET (CMAKE_C_FLAGS "-Wall -std=c99") SET (CMAKE_C_FLAGS_DEBUG "-g") SET (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG") SET (CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG") SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") SET (CMAKE_CXX_COMPILER "/usr/bin/clang++") SET (CMAKE_CXX_FLAGS "-Wall") SET (CMAKE_CXX_FLAGS_DEBUG "-g") SET (CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") SET (CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG") SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") SET (CMAKE_AR "/usr/bin/llvm-ar") SET …
269 cmake  llvm  clang 

7
Clang vs GCC-どちらがより良いバイナリを生成しますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 この質問を改善する 私は現在GCCを使用していますが、最近Clangを発見し、切り替えについて考えています。ただし、決定的な要素が1つあります- gcc -O3生成されるバイナリの品質(速度、メモリフットプリント、信頼性)。 ClangはGCCよりも優れたコンパイル速度と低いコンパイル時のメモリフットプリントを誇りますが、結果として得られるコンパイル済みソフトウェアのベンチマーク/比較に本当に興味があります。

22
Xcode-ld:-lPodsのライブラリが見つかりません
iOSアプリケーションをビルドしようとすると、これらのエラーが発生します。 ld: library not found for -lPods clang: error: linker command failed with exit code 1 (use -v to see invocation) Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64 cd /Users/Markus/Development/xcode/totalbox-ios export IPHONEOS_DEPLOYMENT_TARGET=7.1 export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework …

6
Linux開発プロジェクトのClangとGCC
私は大学にいます。プロジェクトではCを使用しています。GCCとClangを調査してきましたが、ClangはGCCよりもはるかにユーザーフレンドリーであるようです。結果として、LinuxのCおよびC ++で開発するために、GCCではなくclangを使用することの利点または欠点は何ですか? 私の場合、これは制作ではなく、学生レベルのプログラムに使用されます。 Clangを使用する場合、GDBでデバッグしてGNU Makeを使用する必要がありますか、それとも別のデバッガーとmakeユーティリティを使用する必要がありますか?
175 c++  c  linux  gcc  clang 

3
ARCとブリッジキャスト
ARCでは、にキャストできなくなりましCGColorRefたid。私はブリッジキャストをする必要があることを学びました。clang docsによると: ブリッジ・キャスト Cスタイルのキャストは、3つのキーワードの一つでアノテートされています。 (__bridge T) opオペランドを宛先の型にキャストしますT。T が保持可能なオブジェクトポインタ型の場合、保持op不可能なポインタ型でなければなりません。もしT非保持可能ポインタ型である場合、opは保持できるオブジェクトのポインタ型を持っている必要があります。それ以外の場合、キャストは不正です。所有権の譲渡はなく、ARCは保持操作を挿入しません。 (__bridge_retained T) op保持可能なオブジェクトポインタ型である必要があるオペランドを、保持不可能なポインタ型である宛先型にキャストします。ARCはローカル値の通常の最適化に従って値を保持し、受信者はその+1のバランスを取る責任があります。 (__bridge_transfer T) op保持不可能なポインタ型でなければならないオペランドを、保持可能なオブジェクトポインタ型でなければならない宛先型にキャストします。ARCは、ローカル値の通常の最適化に従って、囲んでいる完全式の終わりに値を解放します。 これらのキャストは、ARC制御の内外にオブジェクトを転送するために必要です。保持可能なオブジェクトポインターの変換に関するセクションの理論的根拠を参照してください。 __bridge_retainedまたは__bridge_transferキャストを使用して、ARCに不均衡な保持または解放をそれぞれ放出するように説得することは、不適切な形式です。 それぞれどのような状況で使用しますか? 例えば、CAGradientLayer持ちcolorsの配列プロパティ受け付けるCGColorRef秒。私は__brigeここで使用するべきだと思いますが、正確になぜすべきか(すべきでないか)は明確ではありません。

4
CMakeでは、コンパイラがClangかどうかをどのようにテストできますか?
一連のクロスプラットフォームCMakeビルドスクリプトがあり、Visual C ++およびGCCでのビルドをサポートしています。 Clangを試していますが、CMakeスクリプトでコンパイラがClangであるかどうかをテストする方法がわかりません。 コンパイラがClangかどうかを確認するには何をテストすればよいですか?現在Visual C ++とGCC を使用MSVCしCMAKE_COMPILER_IS_GNU<LANG>てテストしています。
151 c++  c  cmake  clang 

5
Clangをllvm IRにコンパイルする方法
clang でバイナリ実行可能ファイルではなくバイトC/C++コードにLLVMコードをコンパイルしてほしい。どうすればそれを達成できますか?そして、LLVMバイトコードを取得した場合、それをバイナリ実行可能ファイルにさらにコンパイルするにはどうすればよいでしょうか。 基本的にLLVM、バイナリ実行可能ファイルにコンパイルする前に、独自のコードの一部をバイトコードに追加します。
150 c  llvm  clang 

3
OS XでのLLVMとclang
OS Xのllvm、clang、gccについて質問があります。 llvm-gcc 4.2、llvm 2.0、clangの違いは何ですか?私はそれらすべてがllvmに基づいていることを知っていますが、それらはどのように違うのですか? 高速なコンパイルに加えて、gccに対するllvmの利点は何ですか?
133 c++  c  gcc  llvm  clang 

22
PCHエラーを修正する方法?
でアプリをビルドしようとすると、Xcode次のエラーメッセージが表示されます。 コンパイラ((clang-425.0.27))とは異なるブランチ((clang-425.0.24))からビルドされたPCHファイル これは以前には起こりませんでしたが、これはXcodeを更新した後の最初のビルドでした。 他のアプリは機能しますが、この特定のアプリは機能しません。 "Precompile Prefix Header"設定をオフにすると動作します。 このエラーを修正し、その設定をオンに保つにはどうすればよいですか?

1
-std = c ++ 11と-std = gnu ++ 11の違いは何ですか?
gccとclangのコンパイルパラメータ-std=c++11との違いは何-std=gnu++11ですか?同じ質問c99とgnu99?私はC ++とC標準について知っています。興味があるのはパラメーターの違いです。 私はそれがいくつかの拡張機能に関係していることをどこかで読んだことがありますが、どれがどれで、どのように新しいプロジェクトでどちらを選択するかははっきりしません。
132 c++  gcc  c++11  clang 

13
最適化されない無限の空のループを作成するにはどうすればよいですか?
C11標準は、定数制御式を含む反復ステートメントを最適化してはならないことを示唆しているようです。私はこの回答から私のアドバイスを取り入れています。これは、ドラフト標準のセクション6.8.5を具体的に引用しています。 制御式が定数式ではない反復文...は、実装によって終了するものと想定されます。 その答えでは、ループのようなループwhile(1) ;は最適化の対象とすべきではないと述べています。 では、なぜClang / LLVMは(でコンパイルされたcc -O2 -std=c11 test.c -o test)以下のループを最適化するのですか? #include <stdio.h> static void die() { while(1) ; } int main() { printf("begin\n"); die(); printf("unreachable\n"); } 私のマシンでは、これはを出力しbegin、次に不正な命令(のud2後にトラップが配置されたdie())でクラッシュします。godboltでは、の呼び出し後に何も生成されないことがわかりputsます。 Clangに無限ループを出力させるのは意外と難しい作業でし-O2たが、volatile変数を繰り返しテストすることはできましたが、これには不要なメモリ読み取りが含まれています。そして、私がこのようなことをした場合: #include <stdio.h> static void die() { while(1) ; } int main() { printf("begin\n"); volatile int x = 1; if(x) die(); …

3
制限が959ではなく960であるときに単純なループが最適化されるのはなぜですか?
次の単純なループについて考えてみます。 float f(float x[]) { float p = 1.0; for (int i = 0; i < 959; i++) p += 1; return p; } gcc 7(スナップショット)またはclang(トランク)でコンパイルすると、-march=core-avx2 -Ofast非常によく似たものになります。 .LCPI0_0: .long 1148190720 # float 960 f: # @f vmovss xmm0, dword ptr [rip + .LCPI0_0] # xmm0 = mem[0],zero,zero,zero ret つまり、ループせずに答えを960に設定するだけです。 ただし、コードを次のように変更した場合: …
131 c  gcc  optimization  clang 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.