Поддержка компилятора для будущего C ++ 0x - PullRequest
9 голосов
/ 11 июня 2009

Есть ли компилятор, который имеет хорошую поддержку для нового C ++ 0x?

Я использую GCC, но, к сожалению, текущая версия 4.4 плохо поддерживает новые функции.

Ответы [ 9 ]

28 голосов
/ 11 июня 2009

Проект Apache Standard C ++ Library поддерживает вики-страницу поддержки C ++ 0x основных компиляторов .

Вот ссылки на страницы поставщиков, описывающие их поддержку C ++ 0x:

6 голосов
/ 11 июня 2009

Боюсь, что gcc, вероятно, лучшее, что вы получите на этом этапе.

Список функций и поддерживаемых компиляторов здесь:

http://wiki.apache.org/stdcxx/C++0xCompilerSupport

4 голосов
/ 11 июня 2009

Единственным компилятором, в котором реализована концепция, является conceptgcc (и даже он неполный - но он достаточно хорош, чтобы получить представление о функции).
Visual C ++ 2010 Beta имеет некоторую полезную поддержку C ++ 0x - вы можете играть с лямбдами, ссылками rvalue, auto, decltype.
Comeau C ++ или компиляторы на основе EDG, на удивление, не настолько продвинуты, как я ожидал, что они будут реализовывать C ++ 0x.
GCC 4.4 (шаблоны переменных, списки инициализаторов, встроенные пространства имен, autor, decltype), вероятно, имеет большинство функций, реализованных из любых других компиляторов, но отстает в концепциях и лямбдах (разработка отдельной ветви продолжается).

3 голосов
/ 26 марта 2011

GCC 4.6, выпущенный 3/25/11, поддерживает большинство не связанных с параллелизмом функций C ++ 0x . Теперь, когда C ++ 0x больше не поддерживается, поддержка компилятора может продвигаться немного быстрее.

3 голосов
/ 26 апреля 2010

Скотт Мейерс имеет хорошее и подробное сравнение здесь:

http://www.aristeia.com/C++0x/C++0xFeatureAvailability.htm

3 голосов
/ 11 июня 2009

GCC 4.4, по крайней мере, имеет некоторые интересные функции (auto, шаблоны переменных, ссылки на значения и т.д.) Существуют также разделы для разработки концепций и лямбд.

См. Поддержка C ++ 0x в GCC .

3 голосов
/ 11 июня 2009

Текущая бета-версия компилятора Comeau , кажется, имеет хорошую поддержку C ++ 0x.

1 голос
/ 11 июня 2009

Я рекомендую компилятор Intel, если на вашем linux / unix он получил лучшую поддержку, чем GCC, и производит более быстрые / меньшие двоичные файлы (обычно я получаю бесплатный прирост производительности на 10% при его использовании)

1 голос
/ 11 июня 2009

C ++ 0x все еще не готов, поэтому не ожидайте, что он будет поддерживаться. GCC 4.4 и Visual C ++ 2010 являются хорошими кандидатами (у них есть некоторые наиболее ожидаемые новые функции, такие как лямбды и авто), которые помогут вам начать, но стандарт еще не закончен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...