Почему я должен пользоваться Библиотекой Стандарта C++ Apache, а не какой-либо другой реализацией STL наряду с Повышением?

Согласно http://bazaar-vcs.org/PyCurl

Начиная с Windows не идет ни с каким ЗАВИХРЕНИЕМ или pycURL, пользователи Windows должны будут установить обоих.

ВИХРЕВЫЕ загрузки: http://curl.haxx.se/download.html .

загрузки pycURL: http://pycurl.sourceforge.net/download/ .

Обе ссылки содержат Linux (и другой *Отклоняют), tarballs/packages и файлы установщика Windows.

существуют установщики Windows в обеих ссылках, надо надеяться, они будут работать на Вас.

10
задан Dustin Getz 20 October 2009 в 00:31
поделиться

4 ответа

The Apache C++ Standard Library project is a complete implementation of the ISO/IEC 14882 C++ Standard Library.

The most distinguishing characteristic of this implementation of the C++ Standard Library is its portability to a large number of C++ compilers, operating systems, and hardware архитектуры.

Похоже, если вы цените исключительную портативность, это для вас. Если вы этого не сделаете, большинство по умолчанию использует реализацию своего компилятора по умолчанию, поэтому, если у вас когда-нибудь возникнут проблемы, сообщество будет больше. Если вы не столкнетесь с проблемами реализации, я не понимаю, почему это должно иметь большое значение.

Меня обычно раздражает это мнение, но мне нравится идея иметь компанию, которой я могу заплатить, чтобы решить проблемы, моя разработчики (и я) недостаточно умны (или у них нет времени), чтобы погрузиться во внутреннее устройство и исправить ошибки.

5
ответ дан 3 December 2019 в 23:50
поделиться

Один из преимущества, о которых заявляет stdxx , кажутся мне верными:

  • Оптимизирован для быстрой компиляции и чрезвычайно малые размеры исполняемых файлов

В этой статье Страуструп рассказывает о новой идее, применяемой в некоторых компиляторах C ++, которая называется SCARY . Впервые я прочитал об этом в одной из его статей . В любом случае, эта функция позволяет значительно уменьшить размер создаваемых исполняемых файлов на (~ 1x - ~ 25x) , и быстрее на (~ 1.2x - ~ 2.1x) . В первой статье он сказал, что Rogue Wave STL поддерживает SCARY , по крайней мере, в современных реализациях:

Самая последняя версия Rogue Wave STL имеет независимый контейнер итераторы в производственном режиме, но некоторые из стандартных контейнеров ' итераторы не являются независимыми при отладке Режим. N2911 объясняет, что эти зависимости на самом деле не требуются для целей отладки и может легко be removed.

So, if stdxx is based on Rogue Wave STL, it might have this idea implemented already.

5
ответ дан 3 December 2019 в 23:50
поделиться

Библиотека Apache C ++ изначально была коммерческой библиотекой Rogue Wave. Они утверждают, что очень внимательно следят за стандартом C ++ и прилагают все усилия, чтобы обеспечить переносимость между различными операционными системами и компиляторами. Библиотека Rogue Wave была перенесена на более чем 40 компиляторов.

1
ответ дан 3 December 2019 в 23:50
поделиться

Я не знаком со стандартной библиотекой Apache C ++, поэтому я не уверен, какие возможности у нее есть. Если вы обнаружите, что он предоставляет все, что вам нужно, тогда нет большой разницы в использовании этого или другой реализации STL вместе с Boost. Однако Boost предоставляет гораздо больше, чем некоторые функции TR1 и такие мелочи, как интеллектуальные указатели. В нем также есть:

  1. Lambdas / Closures
  2. Шаблон и метапрограммирование препроцессора
  3. Сигналы и слоты / реализация шаблона Observer / Listener
  4. Справочные оболочки
  5. Множество других случайных вещей, которые вы вряд ли найдете в другом месте в одной библиотеке

Все зависит от необходимых вам средств.

0
ответ дан 3 December 2019 в 23:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: