2012-04-10 14 views
0

netbeans 7.1.1ではC++ 11(スレッド、chronoとしてのライブラリを利用しています)がサポートされているかどうか尋ねる必要があります。netbeans ide 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(); 
} 

実際に私は毎分後にこの関数を呼び出し、何か(これで私は分単位で時にシステム時刻の変更を意味する)

感謝を作るに取り組んでいますが

+0

どのコンパイラを使用していますか? g ++の場合、4.7リリースのC++ 11の機能のほとんどをサポートしています。 –

+2

netbeansは** ide **です。コンパイラではありません。 –

+0

コンパイラはg ++で、ideは7.1.1です – gandhigcpp

答えて

-1

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

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

+0

: - それはコンパイラがすべてのrealeaseを変更することを提供しているideのようなものです、どうして私にエラーが表示されるのか教えてください。 – gandhigcpp

+4

この回答は100%正しいimhoではありません。多くのIDEは、自動補完、メンバー解決、または非常に基本的なスタティックアナライザーなど、新しいC++ 11コードを使用すると非常にうまく機能しないようなものを提供します。たとえば、gccの標準ライブラリを使用する場合、C++ 11の新しいクラス/関数はすべてプリプロセッサフ​​ラグの後ろにあり、IDEによって認識されずに "IDEエラー"(IDEの有用性が低下します)が発生します。 – KillianDS

+0

ideはC++ 11もサポートする必要があるため、投票は無効です。 –

5

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

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

2)OSも重要です。<thread>ヘッダーは、基本的にPOSIXの概念であるptherad、mutex and condition_variable。 Windowsの場合、condition_variableはネイティブでは0x600(Vista)から0x505(XP)までのネイティブ「同期イベントオブジェクト」を処理する必要がありますが、同等の意味を持ちます(boost::threadはアダプタを実装しますが、GCC スレッドの実装全体をスキップするだけです。:より多くのOSを作成する場合は、それらのすべてに存在するライブラリ実装を使用しているかどうかを確認してください!)

3)IDEの重要性は次のとおりです。エディタはテキストを解析して補完情報や「構文エラーが発生しました」などを表示します。コンパイラに依存するのではなく、使用するパーサに依存します。 特に、GCCが-std = C++ 0Xで構成されていると、__GXX_EXPERIMENTAL_CXX0X__シンボルの暗黙的な定義が想定されます。これはIDEによって自動的に引き継がれません(ヘッダーを正しく解析しません)。 IDE解析中に__GXX_EXPERIMENTAL_CXX0X__のシンボルを「定義済み」と見なすことができます。

問題はポイント3に関連している可能性があります

関連する問題