0

netbeans 7.1.1 で c++11 (ライブラリをスレッド、クロノとして使用) がサポートされているかどうかを尋ねる必要があります。

私はこのコードを持っていました:-

#include<thread>
#include<chrono>
while(true)
{
std::this_thread::sleep_for(std::chrono::seconds(1));   <- there is an error at 
"this_thread" 

test4();
}

実際、私は毎分この関数を呼び出す何かを作成することに取り組んでいます(これは、システム時間が1分変化したときを意味します)

ありがとう

4

2 に答える 2

5

ここでは、3 つのこと (コンパイラ、IDE、および OS) がすべて重要です。

1) コンパイラ: GCC 4.6 は既に C++11 を適切にサポートしており、ヘッダー<thread>とヘッダーがあり<chrono>ます。ただし、でコンパイルする必要があります-std=c++0x。IDE を使用する場合は、そのような make を生成するように構成する必要があります (そのため、コンパイラ オプションを確認してください)。

2) OS も重要です。<thread>ヘッダーは基本的に、ptherad、mutex、および condition_variable の POSIX 概念のラッパーのセットです。Windows では、condition_variable は 0x600 (Vista) からのみネイティブに存在します。0x505 (XP) までは、ネイティブの「同期 EVENT オブジェクト」を処理する必要があります。これは同等である可能性があります。異なるセマンティクスがあります (boost::threadアダプターを実装しますが、GCCは単にスキップします)。スレッドの実装全体: したがって... より多くの OS 用に書いている場合は、それらすべてに存在するライブラリの実装を使用しているかどうかを確認してください!)

3) IDE にも重要性があります。エディターがテキストを解析して補完情報を表示する方法、および「入力中の構文エラー」などは、コンパイラーに依存するのではなく、使用するパーサーに依存します。特に、GCC を -std=c++0X で構成すると__GXX_EXPERIMENTAL_CXX0X__、IDE によって自動的に想定されないシンボルの暗黙的な定義が想定されます (ヘッダーを誤って解析する)。__GXX_EXPERIMENTAL_CXX0X__解析中に「定義」されたシンボル。

あなたの問題はおそらくポイント3に関連しています

于 2012-04-10T06:50:36.680 に答える
-1

IDE ではなく、コンパイラが C++11 をサポートしているかどうかを確認する必要があります。

g++ については、4.7 リリースでほとんどの c++11 機能をサポートしています。

于 2012-04-10T06:03:53.847 に答える