В какой степени «повышение делает это» эквивалентным «очень портативно, используйте его»? - PullRequest
7 голосов
/ 26 февраля 2010

В этот ответ на вопрос «Делает Z таким образом переносимым», идея в том, что «Boost делает это так, это означает, что он очень переносим».

Могу ли я просто обратиться к источникам буста, чтобы найти самый переносимый способ сделать что-то в C ++? Как я могу судить сам, является ли boost действительно такой коллекцией сверхпортативного кода?

Ответы [ 3 ]

4 голосов
/ 26 февраля 2010

Boost хорошо протестирован на различных операционных системах

Оформить эту страницу

4 голосов
/ 26 февраля 2010

В некоторых случаях библиотеки Boost существуют именно потому, что они содержат очень непереносимый код. Наиболее очевидные примеры - файловая система и многопоточность.

Контрольным признаком этого является широкое использование макросов Boost.Config. Boost-код, который не зависит от Boost.Config (или других нестандартных #ifdefs), будет очень переносимым.

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

Boost поставляется с некоторыми рекомендациями о том, как программировать для переносимости; библиотеки тщательно проверяются перед принятием - хотя поддержка компилятора для определенных библиотек может быть прекращена, если нет разумного способа реализации библиотек Raison d'être, и библиотека предлагает концепцию прорыва - например, boost :: mpl didn долго не работают на солнечных компиляторах.

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

...