2012-04-02 11 views
8

Próbuję nauczyć się pisać kody równoległe z biblioteką wątków w C++ 11, więc przede wszystkim potrzebuję kompilatora, który obsługuje tę bibliotekę, moim pytaniem jest to, który kompilator może obsługiwać wszystkie funkcje współbieżności C++ 11?Kompilator C++ obsługujący wszystkie funkcje współbieżności w C++ 11?

Uwaga:

to pytanie o funkcje współbieżności C++ 11 nie dla kompilatora, który najlepiej obsługuje C++ 11.

+0

wierzę VC++ 11 realizuje wszystkie funkcje biblioteki C++ 11, ale jest ciągle w [beta] (https://www.microsoft.com/visualstudio/11/en-us) – Praetorian

+0

@ Prætorian VS11 beta jest obsługiwany dla kodu produkcyjnego, więc nie chciałbym nie martw się zbytnio o "beta" – bames53

+0

Nie używam Windowsa – peaceman

Odpowiedz

7

Najprościej jest zbyt spojrzeć na support matrix z wiki Apache jak wspomniano na C++11 Compiler: Closest to the standard and how close?. Stamtąd będziesz mógł zobaczyć, jaki zakład kompilatora pasuje do twoich potrzeb.

Visual Studio

Jak wspomniano od C++11 Features in Visual C++ 11 "W VC11 zamierzamy całkowicie obsługuje C++ 11 Biblioteka Standard, modulo jeszcze-nie-zaimplementowane funkcje kompilatora".

GCC

C++0x/C++11 Support in GCC

Clang

C++98 and C++11 Support in Clang

+0

"W VC11 zamierzamy w pełni obsługiwać standardową bibliotekę C++ 11, modulo nie-jeszcze-zaimplementowane funkcje kompilatora" - nie jest to prawda dla wersji kompilatora z listopada '12. – smerlin

+0

@mermerlin, co nie jest prawdą w tym? – jcoder

+0

http://blogs.msdn.com/b/vcblog/archive/2012/11/02/visual-cc-11-and-the-future-of-c.aspx '... nie ma jeszcze wersji zaktualizowana biblioteka standardowa do korzystania z funkcji (np. konstruktor inicjatora startowego std :: vector). " – smerlin

2

Czy spojrzałeś na to?
C++0x/C++11 Support in GCC

+0

Zainstalowałem gcc, ale nie wiem, jaka jest jego wersja, jak mogę je znaleźć? – peaceman

+0

użyj flagi --version ('g ++ --version') –

+3

Chociaż nie wiem jak to odpowiada na pytanie, ponieważ tabela pokazuje, że g ++ ma prawie wszystkie C++ 11 ** oprócz ** funkcji współbieżności. –