Точные различия в поддержке c ++ 11 при использовании libc ++ и libstc ++ в Apple llvm 4.1?

Кто-нибудь может предложить способ определения различий в поддержке c ++ 11 при использовании libc ++ и libstdc ++, которые поставляются с компилятором Apple LLVM?

В частности, в настоящее время я использую LLVM 4.1, который поставляется с Xcode 4.5.2.

Предположительно, ответ частично зависит от уровня поддержки c ++ 11, предлагаемого clang для этой версии, а частично от версии libc ++ и libstdc ++, поставляемых с 4.1.

Мой общий смысл состоит в том, что поддержка c ++ 11 в наши дни «почти завершена» при использовании libc ++, но вы теряете что-то при переходе на libstdc ++, но я не могу понять, что — некоторые простые функции c ++ 11 кажутся хорошо работать на обоих.

Я чувствую, что поддержка c ++ 11 для libstdc ++, которая поставляется с gcc 4.8, довольно хороша, но я понятия не имею, устарела ли libstdc ++, которая поставляется с llvm 4.1, или нет.

Кроме того, я понимаю, что нет никакой разницы в уровне поддержки c ++ 11 (при использовании llvm 4.1 с libc ++) при компиляции для osx или ios 6.01, но я не уверен.

Любые предложения о том, как все это выяснить?

[Контекст: из-за зависимостей вверх по течению, мне может понадобиться ссылка на libstdc ++ вместо libc ++, поэтому я хочу выяснить, что я могу потерять]

1

Решение

Libstdc ++, который поставляется с LLVM 4.1, — это gcc-4.2. Эта версия не имеет поддержки C ++ 11. Тем не менее, он имеет некоторую поддержку tr1.

Кроме того, лучший способ проверить C ++ 11 язык особенности использования Clang’s has_feature макро тест.

Для функций библиотеки C ++ 11 вам нужно использовать libc ++.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]