Open Watcom

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
У этого термина существуют и другие значения, см.Watcom (значения).
Open Watcom
Логотип программы Open Watcom
Скриншот программы Open Watcom
ТипСреда разработки программного обеспечения
РазработчикиWatcom,
Sybase,
SciTech Software,
Открытое сообщество
Написана наСи
Операционная системаКроссплатформенное программное обеспечение
Дата выпуска28 января 2003
Последняя версия1.9 (июнь 2010)
СостояниеАктивное
ЛицензияSybase Open Watcom Public License version 1.0 (разрешено некоммерческое использование частными лицами)
Сайтopenwatcom.org

Open Watcom — проект сообщества открытого кода по поддержке и развитию многоплатформных компиляторов Watcom C, C++ и Fortran и сопутствующих программ[1]. Лицензияоткрытого ПО отSybase допускает лишь некоммерческое использование пакета Open Watcom частными лицами[2].

Содержание

История

[править |править код]

История[3]компилятора началась в 1965 году, когда четверо студентовУниверситета Уотерлу вКанаде под руководством профессора за три месяца работы создали компиляторФортрана WATFOR[4]. Он работал на платформахIBM 7040,IBM System/360 иDECPDP-11. В 1980 году была разработана новая версия для IBM 360 иIBM PC, которая поддерживала стандартФортран 77. Через год была образована фирма Watcom, которая в 1988 году представила компиляторC.

КомпиляторыWatcom для языковСи иC++ ценились разработчиками программ подDOS за генерацию компактного и быстрого кода, а также за то, что эти компиляторы одними из первых предложили поддержкузащищённого режима процессоровIntel 80386. В середине 1990-х некоторые игры под DOS, такие какDoom,Descent,Duke Nukem 3D,Warcraft II были скомпилированы Watcom C.

В 2003 году, после проблем с новой версией компилятора, а также невозможностью конкурировать с компаниейMicrosoft, фирмаSybase, которая приобрела Watcom в 1995 году, открылаисходные коды компиляторов. Так был создан проект Open Watcom под эгидой фирмыSciTech Software. Компилятор Open Watcom не полностью поддерживает стандартC++, что не позволяет считать его полноценным компилятором C++ и мешает его широкому использованию, однако проект находит своё применение при создании программ для устаревших системDOS иOS/2.

Хотя Sybase больше не продаёт компиляторы Watcom, они доступны как пакетоткрытого программного обеспечения OpenWatcom с помощью компании SciTech. После выпуска версии 1.9 проект прекратил разработку, и сопровождение было продолжено вфорке OpenWatcom v2, выпустившем версию 2.0 со множеством улучшений и исправлений[5].

Платформы

[править |править код]

Исходный код компиляторовпортируем и, подобно многим другим свободным компиляторам, вродеgcc, их кодогенератор (backend) можно настроить на другую целевую платформу.

Компиляторы могут работать под управлением (host — платформа разработчика) и компилировать исполнимый код для (target — целевая платформа) операционных системDOS,OS/2 иWindows. Поддерживается также создание модулейNLM[англ.] дляNovell NetWare.

Идёт работа по портированию компиляторов под операционные системыLinux[6] и последние версииBSD (например,FreeBSD), работающие на платформахx86,PowerPC и других.

Open Watcom C/C++ версии 1.4, выпущенный в декабре 2005 года, имеет экспериментальную поддержку Linux x86 как целевой платформы.

Имеется код для поддержкиQNX 4.25[7], но для компиляции исполняемых модулей требуются несвободные библиотеки.

Совместимость со стандартом C99

[править |править код]

Производятся постоянные работы над улучшением совместимости компилятора C/C++ со стандартомC99 (ISO/IEC 9899:1999).[8] Пока что это остаётся недокументированной особенностью компиляторов Open Watcom C/C++ до завершения работы по реализации полной поддержки стандарта и задаётся параметром командной строки-za99.

В версии Watcom C/C++ 11.0 уже были включены некоторые расширения языка C, которые позже были стандартизированы в C99. Среди них:

  • комментарии в стиле C++ (однострочные комментарии, начинающиеся с//);
  • непостоянные инициализаторы для локальных агрегаторов или объединений (только в режиме-aa);
  • запятые после последнего элемента в спискахперечислений и инициализаторов.

После открытия исходных кодов инструментов Watcom участниками сообщества разработчиков Open Watcom было сделано множество улучшений по поддержке стандарта C99:

  • вариативные макросы (версия OW 1.2);
  • основанные на существующей поддержке__int64 64-битные целые типаlong long int (версия OW 1.2);
  • идентификатор__func__ (версия OW 1.2);
  • ключевое словоinline, основано на существующей поддержке__inline (версия OW 1.2);
  • улучшена поддержкашироких символов (wide char) (версия OW 1.3);
  • функциибиблиотеки времени исполнения работают с объектами типаlong long int (версия OW 1.3);
  • проектируемые инициализаторы (версия OW 1.4);
  • поддержка ключевого словаrestrict (версия OW 1.3, только в режиме включенной опции-za99);
  • частичная поддержка ключевых слов_Bool,_Complex,_Imaginary (версия OW 1.3, только в режиме включенной опции-za99);
  • функции работы с памятью для широких символов, то естьwmemcpy() и ей сопутствующие (версия OW 1.4);
  • объявления в циклах и в любом месте составных выражений (версия OW 1.5);
  • многочисленные усовершенствования библиотеки C изаголовочных файлов.

Примечания

[править |править код]
  1. Титульная страница сайта проекта (англ.). Open Watcom. Дата обращения: 6 октября 2008. Архивировано изоригинала 24 февраля 2012 года.
  2. Sybase Open Watcom Public License version 1.0 (англ.). Дата обращения: 6 октября 2008. Архивировано изоригинала 24 февраля 2012 года.
  3. History (англ.). Open Watcom. Дата обращения: 6 октября 2008. Архивировано изоригинала 24 февраля 2012 года.
  4. Peter W. Shantz, R. A. German, J. G. Mitchell, R. S. K. Shirley, C. R. Zarnke. WATFOR — The University of Waterloo FORTRAN IV compiler //Communications of the ACM. —ACM, январь 1967. —Т. 10,вып. 1. —С. 41—44. —ISSN0001-0782. —doi:10.1145/363018.363059.ISSN0001-0782doi:10.1145/363018.363059
  5. Open Watcom v2 Fork . Дата обращения: 17 ноября 2020. Архивировано 25 ноября 2020 года.
  6. Installing Open Watcom on Linux (англ.). Open Watcom. Дата обращения: 21 января 2009. Архивировано изоригинала 24 февраля 2012 года.
  7. Настройка OpenWatcom для QNX4 . Архивировано изоригинала 24 февраля 2012 года.
  8. C99 Compliance (англ.). Архивировано изоригинала 6 февраля 2009 года.

Ссылки

[править |править код]
Перейти к шаблону «IDE»
Универсальные
Си/C++
Бейсик
Java
Паскаль
PHP
Python
ActionScript
Ruby
Источник —https://ru.wikipedia.org/w/index.php?title=Open_Watcom&oldid=147243618
Категории:
Скрытые категории: