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

THE BOOST MPL LIBRARY: Portability

Boost , ,

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

Front Page / Technical Details / Portability

Portability

Основной целью разработки MPL всегда было то, чтобы программа, использующая MPL, компилировалась и запускалась без изменений на самых разных компиляторах. С этой целью библиотека делает все возможное, чтобы скрыть причуды менее совершенных компиляторов. Конечно, есть только то, что вы можете сделать с совершенно сломанным компилятором. В этом разделе описаны места, где эти причуды "утечка" слоя абстракции библиотеки, и что вы можете с этим сделать, когда они это делают.

Что касается совместимости с MPL, мы разделяем компиляторы C++ примерно на три категории:

  1. Разумно соответствуя компиляторам, которые просто работают с MPL.
  2. Не очень подходящие компиляторы, которые работают, но требуют некоторых обходных путей в коде пользователя.
  3. Компиляторы настолько разбиты, что нецелесообразно использовать их для какой-либо серьезной работы по метапрограммированию.

Мы не тестировали каждый существующий компилятор (просто потому, что у нас нет доступа ко всем из них), но есть вероятность, что приведенная ниже таблица даст вам информацию, которую вы ищете. Обратите внимание, что тот факт, что одна версия компилятора появляется в этом списке как "Не поддерживается", означает, что будущие версии также неработоспособны - некоторые поставщики упорно работают над исправлением проблем ... и, на момент написания этой статьи (конец 2004 года), некоторые нет.

Имейте в виду, что это не полный список!

Compiler Versions Category Problematic Areas (if any)
Borland C++ 5.6.4 B Ламбда-выражения, Интегральные постоянные выражения
Borland C++ 5.6.1.1 C Не поддерживается
Comeau C/C++ 4.2.45, 4.3.3 A  
Compaq C++ (Tru64 UNIX) 6.5.5 A  
ГКЦ 3.2.2, 3.3.1, 3.4 A  
ГКЦ 2.95.3 B Интегральные постоянные выражения
HP ACC 3.55 C Не поддерживается
Intel C++ 7.1, 8.0 A  
Обсуждение Metrowerks CodeWarrior 8.3, 9.2 A  
Microsoft Visual C++ 7.1.1 A  
Microsoft Visual C++ 6.0 sp5, 7.0 B Lambda Expressions, ETI, Integral Constant Expressions
SGI MIPSpro 7.3.3 B Интегральные постоянные выражения
Солнце CC 5.6.6 C Не поддерживается

Статья THE BOOST MPL LIBRARY: Portability раздела может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 00:19:28/0.0036289691925049/1