問題タブ [llvm-gcc]

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.

0 投票する
0 に答える
55 参照

xcode - Gcc Eclipse チェック

macOS Lion での C/C++ プログラミングに eclipse を使用しています。最近、新しい gcc バージョン gcc-mp-4.7 を macPorts と共にインストールしました。次に、ポート選択コマンドを使用して、この新しいバージョンを古いバージョン (デフォルトの X コード 4.2.1) に置き換えました。コマンドラインから、新しい gcc バージョンを使用していることがわかります。

Eclipse がこの新しいバージョンを使用しているかどうかを確認するにはどうすればよいですか? ツールチェーンから、古いバージョンの gcc がインストールされていることがわかります (llvm-gcc4.2 など)。ビルド オプションのコマンド ラインで gcc を記述した場合、Eclipse は変更されたバージョンまたは古いバージョンを使用しますか?

たぶんこれはばかげた質問かもしれませんが、私はウェブで明確なものを見たことがありません:)

0 投票する
3 に答える
1919 参照

ios - xcode 4.5、iOS 6.0 SDK コンパイル エラー - base.h

xcode 4.4.3 から 4.5 にアップグレードしたところ、アプリケーションをビルドできなくなりました。iOS 6.0 SDK の base.h で次のコンパイル エラーが発生します。

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/dispatch/base.h:103:44: エラー: トークンの前に二項演算子がありません "( "

すぐに iOS 5.1.1 SDK に戻そうとしましたが、できないことがわかりました。Xcode->preferences->downloads に移動しましたが、インストールできる以前の SDK バージョンはありません。シミュレーターとコマンドライン ツールのみです。

開発者の 1 人が、LLVM GCC 4.2 から Apple LLVM コンパイラ 4.1 に戻すと、コンパイルの問題が解決することを発見しました。

しかし、iOS 5.1.1 SDK を入手するには、以前のバージョンの xcode 4.4.3 をダウンロードする必要があるようです。

xcode 4.5の下にiOS 5.1.1 SDKをインストールした人はいますか?

iOS 6.0 SDK のビルドの問題を経験した人はいますか?

ありがとう...

0 投票する
1 に答える
3393 参照

xcode - MacでAES-NI組み込み関数を使用するにはどうすればよいですか?

MacでCアプリケーションをコンパイルしようとしています。私はSSE4とAES-NI組み込み関数を使用しています。

Linuxでは、-msse4フラグと-maesフラグを指定してgccを呼び出し、wmmintrin.hヘッダーを含めるだけで、SSE組み込み関数_mm_add_epi64(a,b)(またはAES-NI組み込み関数)を呼び出すことができ_mm_aesenc_si128(a, b)、すべてが正常に機能します。

Macでは、AppleがGCCをAES-NIをまだサポートしていないllvm-gccに置き換えるため、より困難です。したがって、SSE4組み込み関数は正常に機能しますが、AES組み込み関数は正常に機能しません。AES命令へのインラインアセンブリ呼び出しでさえ認識されません。

IntelのWebサイトには多くのAESサンプルコードがありますが、これはLinuxとWindows専用です。

RDRAND命令もllvm-gccでサポートされていないことに気付きましたが、Intelは、rawマシンのバイトコードに展開されるCマクロを使用することでその回避策を提供しています。(このIntelライブラリのrdrand.hサンプルファイルを参照してください

残念ながら、AES-NI命令に同様の回避策はありません。おそらく、命令には引数があり、静的なマシンコードバイトとして評価できないためです。

Apple独自のFileVaultなど、MacでAES-NIを使用するプログラムは存在するため、機能する方法が必要です。

私の質問を具体的にするために、最新のMac gcc-llvm 4.2(Mountain Lion xcode 4.4.1の最新の公開リリース)を使用してコンパイルするための次の簡単な呼び出しを取得するにはどうすればよいですか?

助けてくれてありがとう!

0 投票する
0 に答える
1780 参照

macos - ファイル ....libgcc.a を無視して、リンクされているアーキテクチャーではないアーカイブ用にビルドされたファイル (x86_64)

基本的に、.cpp を実行し、いくつかの .a ファイルと gcc、fortran をリンクしたいと考えています。コマンドは次のとおりです

g++ -L/Users/myhome/Ipopt-3.10.0/build/lib -lipopt -L/Users/myhome/lcoinmumps -lpthread -framework vecLib -L/Developer/usr/llvm-gcc-4.2/lib/gcc/i686 -apple-darwin11/4.2.1 -L/usr/local/gfortran/lib -lgfortran -lgcc_static -lcc_kext -lgcc -lSystem -framework vecLib -framework vecLib -lm -ldl -o cpp_example cpp_example.cpp

エラーは次のように表示されます

ld: 警告: ld: 警告: ファイル / Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/libgcc_static.aを無視します。ファイルはアーカイブ用にビルドされましたが、これは対象のアーキテクチャではありませんリンク (x86_64) : /Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/libgcc_static.a 無視ファイル /Developer/usr/llvm-gcc-4.2/lib/gcc/ i686-apple-darwin11/4.2.1/libgcc.a、リンクされているアーキテクチャではないアーカイブ用にビルドされたファイル (x86_64): /Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11 /4.2.1/libgcc.a

アーキテクチャ x86_64 の未定義シンボル: "MyNLP::MyNLP()"、参照元: ccY99KRH.o ld の _main: アーキテクチャ x86_64 のシンボルが見つかりません collect2: ld は 1 終了ステータスを返しました

太字のテキストが示すように、エラーは I am running on 32bit kernel or CPU のようです。しかし、私は x86_64 を使用しています:ここに従って boost.plist を変更しました。 「about mac」は、現在使用しているハードウェアとソフトウェアの両方が 64 ビットであることを明確に証明しています。

ここでは、mac アーキテクチャ(?)がなぜか 64 ビットを認識できなかったと説明しているようです。

しかし、ファイル (.a .cpp .h) を Xcode に追加してプロジェクトを一緒に実行すると、正常に動作します。

コマンドラインが機能しない理由を知っている人はいますか? libgcc(i686-apple-darwin11-llvm-gcc-4.2) が 64 ビット版として認識されないのはなぜですか? そして最も重要なのは、コマンドを機能させる方法です。

ところで、私のシステムはライオン10.7.4です

0 投票する
1 に答える
1422 参照

c - コンパイラがスタック上で「sub*」と「add*」を使用してローカル変数を割り当ておよび割り当て解除しないのはなぜですか?

一部の教科書によると、コンパイラはsub*ローカル変数にメモリを割り当てるために使用します。

たとえば、HelloWorldプログラムを作成します。

これは64ビットOSのアセンブリコードにコンパイルされると思います。

subq引数に8バイトのメモリ(ポイントのサイズ)を割り当て、割り当てaddqを解除します。

しかし、入力するとgcc -S hello.c(Mac OS X 10.8ではllvm-gccを使用します)、アセンブリコードを取得します。

callqなしでこれの周り。なんで?そして、その機能は何ですか?addqsubqaddq $16, %rsp

ご入力いただきありがとうございます。

0 投票する
1 に答える
550 参照

llvm-gcc - 同様のコードで奇妙な動作をループするクレー

シンボリック パラメーターを使用したループの場合、KLEE (シンボリック実行ツール) がどのように機能するかについて質問があります。

このコードで klee を実行すると、テスト ケースは 1 つだけになります。ただし、printf(...) のコメントを削除すると、klee は実行を停止するための何らかの制御が必要になります。これは、n の値を生成するためです: --max-depth= 200

クレーがこのように異なる振る舞いをする理由を理解したいのですが、それは私には意味がありません。このコードに printf がない場合、同じ値が生成されないのはなぜですか。

オプション --optimize が使用されていない場合に同じ動作が発生することがわかりました。Klee の --optimize がどのように機能しているか知っている人はいますか?

同じことについての別の疑問は、彼らが公開した論文の場合、私が理解しているように、彼らのヒューリスティック検索では無限にならないと言われていることです (彼らは飢餓を回避します)。このループの場合、クレーの実行を終了する必要がありますか?

前もって感謝します

0 投票する
2 に答える
6128 参照

iphone - ld はファイル errno=22 をアーキテクチャー armv7 にマップできません

コマンド ラインで iPhone (iOS) 用のプロジェクトをビルドすると、次のエラーが発生します。

ld はファイル errno=22 をアーキテクチャー armv7 にマップできません

ただし、lipo を介してライブラリとオブジェクトをチェックする場合は、armv7 をサポートしています。この問題を抱えている人や、リンクを完成させる方法を知っている人はいますか?

0 投票する
1 に答える
2382 参照

macos - i686-apple-darwin11-llvm-gcc-4.2とllvm-gcc-4.2の違い

/usr/llvm-gcc-4.2/bin私が持っているを調べて

誰かがこれらのコンパイラの違いを説明できますか?

同じアプリケーション(ac hello-world)を両方i686-apple-darwin11-llvm-gcc-4.2で コンパイルしますllvm-gcc-4.2。両方とも機能しますが、diffは違いを報告します。

誰かがそれらの実行可能ファイルの違いを説明できますか?

0 投票する
2 に答える
7229 参照

c++ - LLVM-XCodeでのGCCASMからLLVMへ

XCode LLVM-GCCコンパイラを使用して正常にコンパイル(および動作)する次の2つの定義を取得しました。

ただし、コンパイラをApple LLVMに変更すると、次のエラーが発生しました。

{}を()に置き換えましたが、それではうまくいきません。そのエラーをグーグルで検索しても、有用なものは見つかりませんでした...誰か?