Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Compilers

Boost , Math Toolkit 2.5.0 , Chapter 1. Overview

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

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

Table 1.9. Supported/Tested Compilers

Платформа

компилятор

Длительная двойная поддержка

Заметки

Windows

MSVC 7.1 и позже

Да

Все тесты в порядке.

Мы стремимся сохранить наши заголовки свободными на уровне 4 с этим компилятором.

Windows

Intel 8.1 и более поздние

Да

Все тесты в порядке.

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

Windows

GNU Mingw32 C++

Да

Все тесты в порядке.

Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором.

Windows

GNU Cygwin C++

Нет

Все тесты в порядке.

Мы стремимся к тому, чтобы наши заголовки были свободны от стенок с этим компилятором.

Долгосрочная двойная поддержка отключена, потому что нет нативных длинных двойных функций библиотеки C std.

Windows

Borland C++ 5.8.2 (Developer studio 2006)

Нет

У нас есть только частичная совместимость с этим компилятором:

Длинная двойная поддержка была отключена, потому что нативные длинные двойные функции стандартной библиотеки C действительно только пересылаются в двойные версии. Это может привести к непредсказуемому поведению при использовании длинных двойных перегрузок: например,sqrtl, примененный к конечному значению, может привести к бесконечному результату.

Некоторые функции все еще не компилируются, в настоящее время нет известных обходных путей.

Windows 7/Netbeans 7.2

Удар 3.1

Да

Примеры ОК. Ожидайте, что все тесты будут компилироваться и работать нормально.

Linux

GNU C++ 3.4 и позже

Да

Все тесты в порядке.

Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором.

Linux

Кланг 3.2

Да

Все тесты в порядке.

Linux

Intel C++ 10.0 и более поздние версии

Да

Все тесты в порядке.

Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором. Однако, Тестовые случаи, как правило, генерируют много предупреждений, связанных с численным оттоком тестовых данных: они безвредны.

Linux

Intel C++ 8.1 и 9.1

Нет

Все тесты в порядке.

Долгая двойная поддержка была отключена с этими выпусками компилятора, потому что вызов стандартной библиотеки длинные функции двойной математики может привести к сегфолту. Проблема касается дистрибутива Linux и Glibc-версии, а также отчета об ошибках Intel No 409291. Полностью обновленные версии Intel 9.1 (почтовая версия l_cc_c_9.1.046) не должны иметь этой проблемы. Если вам нужна длинная двойная поддержка с этим компилятором, тогда прокомментируйте определение BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS на строке 55boost/math/tools/config.hpp.

Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором. Однако, Тестовые случаи, как правило, генерируют много предупреждений, связанных с численным оттоком тестовых данных: они безвредны.

Linux

QLogic PathScale 3.0

Да

Некоторые тесты, включающие концептуальные проверки, не создаются, в противном случае, как представляется, проблем нет.

Linux

Sun Studio 12

Да

Некоторые тесты, связанные с разрешением перегрузки функций, не могут быть построены, эти проблемы должны редко встречаться на практике.

Солярис

Sun Studio 12

Да

Некоторые тесты, связанные с разрешением перегрузки функций, не могут быть построены, эти проблемы должны редко встречаться на практике.

Солярис

GNU C++ 4.x

Да

Все тесты в порядке.

Мы стремимся сохранить наши заголовки свободными с помощью -Wall с этим компилятором.

HP Tru64

Compaq C++ 7.1

Да

Все тесты в порядке.

HP-UX Itanium

HP aCC 6.x

Да

Все тесты в порядке.

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

HP-UX PA-RISC

GNU C++ 3.4

Нет

Все тесты в порядке.

Apple Mac OS X, Intel

Дарвин/GNU C++ 4.x

Да

Все тесты в порядке.

Apple Mac OS X, PowerPC

Дарвин/GNU C++ 4.x

Нет

Все тесты ОК.

Длинная двойная поддержка была отключена на этой платформе из-за довольно странной природы 106-битной двойной реализации Дарвина. Это можно сделать, если кто-то готов оказать помощь.

Apple Mac OS X

Кланг 3.2

Да

Все тесты должны быть в порядке.

IBM AIX

IBM xlc 5.3

Да

Все тесты проходят, за исключением наших тестов fpclassify, которые выходят из строя из-за ошибкиstd::numeric_limits, ошибка влияет на тестовый код, а не на fpclassify себя. Группа компиляторов IBM знает об этой проблеме.


Table 1.10. Unsupported Compilers

Платформа

компилятор

Windows

Borland C++ 5.9.2 (Borland Developer Studio 2007)

Windows

MSVC 6 и 7


Если ваш компилятор или платформа не указаны выше, попробуйте запустить регрессионные тесты: cd в boost-root/libs/math/test и сделайте следующее:

bjam mytoolset

где "mytoolset" - название набора инструментов Boost.Build, используемого для компилятора. Вероятность того, чтомногие из тестов на точность потерпят неудачу на этом этапе- не паникуйте - допустимые по умолчанию допуски ошибок довольно жесткие, особенно для длинных двойных типов с расширенным диапазоном экспонентов (это приводит к более экстремальным тестовым случаям для некоторых функций). Вам нужно будет обратить внимание на результаты неудачных тестов и принять решение о том, являются ли показатели ошибок приемлемыми или нет.


Статья Compilers раздела Math Toolkit 2.5.0 Chapter 1. Overview может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 1. Overview ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:46:31/0.0075688362121582/0