問題タブ [gcc4.9]

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 投票する
1 に答える
934 参照

c++ - システムのデフォルトとは異なるコンパイラで CMake を実行する

CMake が必要なものを構築しようとしていますが、試してみると:

エラーが発生します:

CMAKE_CXX_COMPILER=c++11andを使用してみCMAKE_CXX_COMPILER=g++11ましたが、それらもエラーになります。これは、間違った変数を使用しているためですか、それとも c++11 をインストールしていないためですか? それに対する修正は何でしょうか?

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

c - 「__G」は何を意味しますか?

__GCで何を意味しますか?

GCC 4.9 を使用しています。

最新の MinGW バージョンを使用しています。

でコンパイルしてい-std=gnu11ます。

次の C (GCC で C11 としてコンパイルされている) コードがあります。

それはうまくコンパイルされます。

しかし、最新の MinGW でコンパイルすると、次のようになります。

MinGW64 での GCC は、何かに `__G を使用しているようです。

どのヘッダーにも見つかりませんでした。

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

macos - デバッガー設定: codeblock osx

  1. OSX 10.9.2 (Mavericks) に CodeBlocks 13.12 (CodeBlocks-13.12-mac) をインストールしています。
  2. gcc 4.9 を使用しており、gdb (7.7.1) がインストールされています。
  3. 簡単なプログラムをうまくビルドして実行できます。
  4. しかし、「デバッグ」しようとすると (たとえば、「カーソルまで実行」)、次の出力が得られます。

    [デバッグ]コマンドライン: /usr/local/Cellar/gdb/7.7.1/bin/gdb -nx -fullname -quiet -args /Users/skips/SkipsC++Code/DebugTutorial/bin/Debug/DebugTutorial [デバッグ]作業ディレクトリ: /Users/skips/SkipsC++Code/DebugTutorial デバッガーの起動: /usr/local/Cellar/gdb/7.7.1/bin/gdb -nx -fullname -quiet -args /Users/skips/SkipsC++コード/DebugTutorial/bin/Debug/DebugTutorial

    終わり

    [debug]> set prompt >>>>>>cb_gdb:
    登録された新しい型: wxString
    登録された新しい型: STL String
    登録された新しい型: STL Vector
    ブレークポイントの設定

    コンソールを起動できません (osascript -e 'tell app "Terminal"' -e 'activate' -e 'do script ""' -e 'end tell' sleep 80007329)
    .
    .
    .
    デバッガーの名前とバージョン: GNU gdb (GDB) 7.7.1

    .
    .
    [debug]>>>>>>cb_gdb:
    [debug]> catch throw
    [debug]probe.c:59: 内部エラー: struct symtabs_and_lines parse_probes(char **, struct linespec_result *): アサーション `probe_ops != NULL'失敗した。
    [debug]GDB の内部の問題が検出されました。
    [debug]さらにデバッグすると信頼性がなくなる可能性があります。
    デバッガーはステータス 1 で終了しました

  5. gdb のいくつかのバージョン (7.6.2 など) を試しましたが、同じ結果でした。

  6. 1つの問題は、「設定/環境/一般/端末を起動する設定」が正しく設定されていないことです。

  7. gcc 4.2.1 および gdb 7.7.1 を使用して UBUNTU 仮想マシン (12.04) に C::B (svn 9817) を正常にインストールしました。デバッガーは UBUNTU VM で正常に動作しているようです。

C::B の私の OSX バージョンについて教えてもらえますか?

スキップ

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

gcc - Is gcc 4.9.x stable version?

Hu, I was surprised at read-only mode...

Anyway, I know many program uses even-odd version numbering, like linux kernel 2.x.

[major version].[major revision].[minor revision]

If major revision is odd, it's unstable version.

But in wikipedia page, it says that gcc 4.9.0 is stable version.

Does NOT gcc uses that version numbering? But I've heard that gcc 4.7 has many bugs, so I can't make sure..

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

gcc - GCC-4.9.0 をインストールできません

gcc-4.9.0 をローカルにインストールしようとしています。インストールを構成するために次のコマンドを実行しました

エラーを出さずに構成した後、実行するとmake install、次のエラーが表示されます

誰でもこれを解決するのを手伝ってもらえますか?

マシンは RHEL 4 を実行しており、Linux カーネルは 2.6.9-67.ELsmp です。

編集: config.log ファイルにエラーが見つかりました

EDIT2:

make を実行したところ、次のエラーが表示されました

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

c++ - const-reference へのテンプレート変換関数

以下は正常に動作します(予想どおり):

しかし、これはあまり明確ではありません:

GCC 4.9 は言ってerror: conversion from ‘A’ to non-scalar type ‘X<int>’ requestedいますが、clang 3.4 には問題はありません。変換関数からまたはを削除しconstたり、記述したりすると、GCC も満足します。&X<int> const &x = a

const &そのため、ターゲット タイプがテンプレート クラスでありconst &、そのクラスの非オブジェクトへの変換を要求した場合にのみ、GCC は変換関数を見つけることができません。これは正しい動作ですか?私は標準を読もうとしましたが、オーバーロードの規則は私にとって非常に混乱しています。

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

numpy - Pymc をインポートするときに、名前の PyMCObjects をインポートできません

私はpymcをインストールしており、コードにインポートしようとしています。でも、

最初に実行するとimport pymc、エラーメッセージが表示されました:

これは手動で修正できますがimport numpy.core.multiarray、もう一度試してみるとimport pymc、別のエラーメッセージが表示されました。

私はグーグルで調べましたが、同様の問題の解決策は次のいずれかです。

  1. のインストールに関連する場合はpymc、64 ではなく 32 ビットを強制的に使用してください。ただし、この回答は Windows ユーザー向けであり、私は OS X 10.9 (Mavericks) を使用しています。
  2. それ以外の場合は、通常、循環依存関係 (たとえば、here ) が原因ですが、ここではそうではないと思います。

私の推測では、パッケージに何か問題があると思いますが、何が原因かわかりflibませんでした。この問題に関する回答/ヒントをいただければ幸いです。前もって感謝します!

更新 (2014 年 7 月 4 日) ありがとう、クリス! をpymc実行して conda ビルドを使用して再構築しましたが、conda install -c https://conda.binstar.org/tobeplugged pymc実行import pymcすると、別のエラー メッセージが表示されます。

Chris が指摘したように (以下のコメントを参照)、問題はここで検討されています。この問題は、gcc(バージョン 4.9) のバージョンに関係しているようです。gccOS X 10.9 (Mavericks) の問題が解決するかどうかを確認するために、今日中に古いバージョン (4.8.2) で再構築してみます。それ以外の場合は、pymc チームがこの問題を解決するまで少し待つことができると思います。

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

multithreading - GCC 4.9.1 ThreadSanitizer 「スリープ経由で同期されているかのように」

大規模なプロジェクトで ThreadSanitizer の警告をクリーンアップする作業を行っています。特にこの正確なケースでは、ファイル、プロデューサーから読み取る生成されたスレッドがあります。次に、スレッド プールの一部として 1 つ以上の圧縮解除スレッドがあります。最後に、解凍されたブロックを取得して実際に処理を行う 1 つのスレッドがあります。もちろん、これにより、複数のブロックを同時に解凍できます。

プロジェクトがアトミック bool と を介して同期する場所はたくさんありますがusleep()、特にこれを含みます。もちろん、これは理想的ではなく、私に割り当てられたものの 1 つです。

しかし、ミューテックスとロックが表現されている限り、ThreadSanitizer が不平を言う問題が何であるかはわかりません (condition_variable を使用する場合と比較して潜在的に効率が低下することを除いて)。

ThreadSanitizer は、「スリープ経由で同期されているかのように」データ競合について不平を言い、usleep()呼び出された場所の場所を提供します。私の問題は、もちろんスリープによる同期は理想的ではないということですが、ミューテックスが尊重されている限り、データ競合は見られません。ミューテックスの仕組みを理解している限り、それらは尊重されていると思います。

そのため、ThreadSanitizer が不平を言っていることを正確に特定するために、再現手順の最小限のセットを作成しようとしています。

これが私が思いついたコードです:

最初のコメントが示すようにそのコードをコンパイルすると、GCC 4.9.1 を使用して、実行の最後に ThreadSanitizer から次のメッセージが表示されます。

すべてのスレッドが結合された後、ラムダ、具体的には共有ポインターのデストラクタのように見えるもので、tsan は最終的に「スリープ経由で同期されているかのように」と不平を言います。これは C++11 の機能であり、Google は ThreadSanitizer が C++11 をあまり好まないという多くの証拠を提供しているため、それ自体は「本当の」競争ではないと思います。

とはいえ...ラムダがスレッドへのエントリポイントとして使用されているという事実...ラムダが破棄される前にスレッドが完全に終了していない実際のレースなのだろうか?それはコンパイラのバグの領域にあるため、これ以上調査する必要はありません (スコープ クリープなど)。

だから私の質問(私はそれらがいくらかオープンエンドであることを知っています、それらを絞り込むのを手伝ってください?)

この場合、ThreadSanitizer がプロデューサー、デコンプレッサ、およびコンシューマで「スリープ経由で同期されたかのように」データ競合を検出しないのはなぜですか? さらに、このコードを変更して...

A) ...「通常」クラッシュを引き起こさない ThreadSanitizer 警告を発行する真のデータ競合を生成します (問題のソフトウェアの現在の製品リリースは、この想定されるデータ競合の結果としてクラッシュするようには見えません)?

B) ...一見するとデータ競合ではないように見えますが、知識や経験からそうではないことが明らかになる真のデータ競合を生み出しますか?

C) ...ThreadSanitizer から偽陽性を生成しますが、実際にはデータ競合はありません。