Watcom C/C++

Откройте Watcom C/C++
Оригинальный автор(ы)Ватком
Разработчик(и)Sybase , программное обеспечение SciTech
Первоначальный выпуск1988 ;
37 лет назад
 ( 1988 )
Стабильный релиз
2.0 (постоянные обновления) / 4 декабря 2024 г. ;
59 дней назад
[1] ( 2024-12-04 )
Репозиторийgithub.com/open-watcom/open-watcom-v2
Написано вС , С++
Операционная системаDOS , Windows , OS/2 , Linux
Платформаx86 , IA-32 , x86-64
Размер66–84 МБ
ТипИнтегрированная среда разработки
ЛицензияSybase Open Watcom Public License версия 1.0
Веб-сайтopenwatcom.org , github.com/open-watcom/open-watcom-v2

Watcom C/C++ (в настоящее время Open Watcom C/C++ ) — интегрированная среда разработки (IDE) от Watcom International Corporation для языков программирования C , C++ и Fortran . Watcom C/C++ был коммерческим продуктом до прекращения его разработки, затем был выпущен под лицензией Sybase Open Watcom Public License как Open Watcom C/C++. Он содержит инструменты для разработки и отладки кода для операционных систем DOS , OS/2 , Windows и Linux , которые основаны на 16-разрядных x86 , 32-разрядных IA-32 или 64-разрядных x86-64 совместимых процессорах.

История

Хотя Sybase больше не продает их на коммерческой основе , компилятор Watcom C/C++ и компилятор Watcom Fortran стали доступны бесплатно в виде пакета Open Watcom .

Последняя стабильная версия, одобренная оригинальной командой openwatcom.org, была 1.9, выпущенная в июне 2010 года. [2] [3]

Основанная на сообществе версия 2.0 (с постоянными обновлениями под тем же именем версии) была выпущена после того, как исходная кодовая база, по-видимому, больше не разрабатывалась исходной командой. Она включает в себя различные исправления ошибок, поддерживает 64-битные хосты (Windows и Linux), встроенный текстовый редактор, двухфазную систему сборки и имеет версию DOS, которая поддерживает длинные имена файлов (LFN). [4]

История релизов

Open Watcom Wiki имеет обширную историю. [5] [3]

Таблица истории релизов
ДатаПродуктПримечания
1984Ватерлоо C для S/370
1985
  • Работа над текущей кодовой базой генератора кода начата
1988Ватком С 6.0
  • Только хост и цель DOS
  • Включен отладчик и полный набор библиотек времени выполнения
  • Генерировал лучший код, чем другие компиляторы того времени.
  • Watcom C версии 6.5 содержал графическую библиотеку, похожую на Microsoft Graphics Library.
  • Поддержка только реального режима [ требуется ссылка ]
1989Ватком С 7.0
1989Ватком С 7.0/386
  • Первая 32-битная версия, только хост DOS и цель
  • Поддерживаемый расширитель Phar Lap DOS
  • Не поставлялся с компоновщиком или отладчиком
1990Ватком С 8.0
1990Ватком С 8.0/386
1991Ватком С 8.5
1991Ватком С 8.5/386
1992Ватком С 9.0
1992Ватком С 9.0/386
  • Поддержка хоста и цели OS/2 2.0
  • 486 оптимизаций
  • Поддержка указателя на основе
Ватком С 9.01/386
1993Watcom C/C++ 9.5
1993Watcom C/C++ 9.5/386
  • Добавлен компилятор C++
  • Оптимизации Pentium
  • Поддержка хоста и цели Windows NT
1994Watcom C/C++ 10.0
1995Watcom C/C++ 10.5
  • Собственная обработка исключений C++ в OS/2 и Win32
  • Поддержка Windows 95 и NT 3.5
  • Удаленная отладка TCP/IP
1996Watcom C/C++ 10.6
1997 Q1 [6]Watcom C/C++ 11.0
1998Watcom C/C++ 11.0B
1999-06-30
2000-08-22
  • Sybase объявляет об открытом исходном коде инструментов Watcom [8]
2001-09-27Watcom C/C++ 11.0c Бета
21.12.2002Watcom C/C++ 11.0c
2003-01-28Откройте Watcom 1.0
2003-08-12Откройте Watcom 1.1
2004-01-07Откройте Watcom 1.2
2004-08-03Откройте Watcom 1.3
2005-12-14Откройте Watcom 1.4
2006-04-26Откройте Watcom 1.5
2006-12-15Откройте Watcom 1.6
2007-08-18Откройте Watcom 1.7
2007-10-23Открыть Watcom 1.7a
2009-02-21Откройте Watcom 1.8
2010-06-02Откройте Watcom 1.9
  • Последняя версия опубликована на https://www.openwatcom.org/
Первоначальный выпуск: 2015-04-02,
последующие обновления, по крайней мере до 2025 года
Откройте Watcom 2.0 Beta
  • GitHub V2 fork, многочисленные исправления [4]
  • Open Watcom перенесен на 64-битные хосты (Windows и Linux)
  • Компилятор ресурсов и редактор ресурсов поддерживают исполняемые файлы WIN64
  • встроенный текстовый редактор
  • двухфазная система сборки
  • DOS-версия инструментов поддерживает длинные имена файлов (LFN)

Лицензия

Open Source Initiative одобрила лицензию как лицензию с открытым исходным кодом , но Debian , Fedora и Free Software Foundation отклонили ее, поскольку «она требует от вас публичной публикации исходного кода всякий раз, когда вы «развертываете» охватываемое программное обеспечение, а «развертывание» определяется как включающее в себя множество видов частного использования». [9]

Дизайн

Компилятор может работать из операционных систем DOS , OS/2 , Windows , Linux и генерировать для них исполняемый код . Он также поддерживает цели NLM для Novell NetWare . Ведется работа по расширению цели на Linux [10] и современные операционные системы BSD (например, FreeBSD ), работающие на процессорах x86 , PowerPC и других.

Код является переносимым и, как и многие другие проекты компиляторов с открытым исходным кодом, такие как GCC или LCC, бэкэнд компилятора (генератор кода) является перенастраиваемым.

Использует

В середине 1990-х годов некоторые из самых технически амбициозных компьютерных игр для DOS , такие как Doom , [5] Descent , [5] Duke Nukem 3D , [5] Rise of the Triad , [11] и Tomb Raider, были созданы с использованием Watcom C/C++ с использованием расширителя защищенного режима DOS/4GW и компилятора Watcom.

Он использовался для портирования игры Retro City Rampage на DOS в 2015 году. [12]

Он использовался VirtualBox для компиляции BIOS . [13]

Текущая разработка FreeDOS требует, чтобы весь исходный код C мог быть скомпилирован Open Watcom C. [14]

Open Watcom — рекомендуемый компилятор для разработки приложений и драйверов для операционной системы ArcaOS на базе OS/2 . [15]

Совместимость

Синтаксис Open Watcom поддерживает множество соглашений [ which? ], введенных другими компиляторами, такими как Microsoft и Borland , включая различные соглашения [ which? ] , касающиеся (например) количества начальных подчеркиваний в теге "asm". Код, написанный специально для другого компилятора, а не для соответствующего стандарту C или C++, часто будет компилироваться компилятором Watcom.

Компилятор по умолчанию поддерживает стандарты C89/C90.

Open Watcom поддерживает частичную совместимость со стандартом C99 . Он реализует наиболее часто используемые части стандарта. Однако они включаются только через недокументированный ключ командной строки "-za99". Три функции C99 были объединены как расширение C90 с версии до v1.0: комментарии в стиле C++ (//), гибкие члены массива, в объявлении enum разрешена конечная запятая. [16]

Компилятор в настоящее время не поддерживает никаких новых [ когда? ] основных функций C11 , хотя библиотека C включает функции "Safe C". Она указана в ISO/IEC TR 24731-1 [17] [18] и известна как "Bounds-checking interfaces (Annex K)" в C11. Некоторые примеры имен функций: strcpy_s(), memcpy_s(), printf_s(). [19] Эта библиотека была выпущена вместе с Open Watcom 1.5 в апреле 2006 года.

Прием

В обзоре оптимизации компиляторов C в феврале 1989 года BYTE похвалил Watcom C 6.5 за «непревзойденную скорость выполнения» и отметил, что он наиболее соответствует стандарту ANSI C. Журнал рекомендовал: «Если скорость абсолютно критична, а совместимость с OS/2 — нет, выбирайте Watcom». [20]

Смотрите также

Ссылки

  1. ^ "Текущая сборка<! Выпуски · open-watcom/open-watcom-v2 -->". GitHub . Получено 2024-12-09 .
  2. ^ "Последний выпуск (июнь 2010 г.) - Open Watcom". OpenWatcom.org wiki. Архивировано из оригинала 18 января 2015 г.
  3. ^ ab "C Compiler Release Changes". Open Watcom . 9 марта 2010 г. Архивировано из оригинала 3 февраля 2015 г.
  4. ^ ab Открыть Watcom v2 Fork
  5. ^ abcd История - Open Watcom. OpenWatcom.com wiki.
  6. ^ SYBASE INC. ОБЪЯВЛЯЕТ О ВЫПУСКЕ WATCOM C/C++ ВЕРСИИ 11.0, ВКЛЮЧАЮЩЕЙ НОВУЮ ПОДДЕРЖКУ ТЕХНОЛОГИИ MMX И УЛУЧШЕННУЮ ПОДДЕРЖКУ ЯЗЫКА C++
  7. ^ Уведомление об окончании поддержки Watcom C/C++ версии 11.0
  8. ^ Sybase открывает исходный код компиляторов Watcom C/C++ и Fortran - SciTech Software выбрана официальным разработчиком проекта Open Watcom
  9. ^ Free Software Foundation. «Различные лицензии и комментарии о них». Операционная система GNU . Получено 23 декабря 2014 г.
  10. ^ Установка Open Watcom на Linux - Open Watcom. OpenWatcom.org wiki.
  11. ^ «RotT был написан на Watcom C++ v10.0 с использованием расширителя Rational Systems DOS/4GW».
  12. ^ "Как 5 лет пылких амбиций привели Retro City Rampage в DOS". Gamasutra. 10 июля 2015 г.
  13. ^ "#12011 (Для компиляции BIOS требуется компилятор Open Watcom)– Oracle VM VirtualBox". www.virtualbox.org . Получено 17.06.2017 .
  14. ^ "FreeDOS Spec". FreeDOS . Архивировано из оригинала 1 мая 2019 года.
  15. ^ "Информация для разработчиков". arcanoae.com . Получено 2020-09-06 .
  16. ^ "Соответствие C99 в Open Watcom". Архивировано из оригинала 2021-03-29.
  17. ^ ISO/IEC TR 24731-1; Расширение библиотеки C, часть 1: Интерфейсы проверки границ.
  18. ^ WG14 N1969 — «Обновленный опыт эксплуатации с приложением K — Интерфейсы проверки границ», Карлос О'Донелл, Мартин Себор
  19. ^ "Open Watcom Safer C Library" . Получено 2020-11-30 .
  20. ^ Апики, Стивен; Уделл, Джон ( февраль 1989). «Сглаживание C». BYTE . стр.  170–186 . Получено 08.10.2024 .

Дальнейшее чтение

  • Watcom C/C++ получает новое лицо – обзор в журнале BYTE за октябрь 1994 г.
  • Часто задаваемые вопросы программистов WATCOM C/C++
Текущий
  • Открытая вилка Watcom 2.0 – GitHub
Архивы
  • Открыть Watcom 1.9 – GitHub
  • Open Watcom 1.9 – (Архивировано 17 марта 2015 г., на Wayback Machine )
  • Sybase Watcom C/C++ версии 11.0 – (Архивировано 13 октября 1999 г. на Wayback Machine )
Взято с "https://en.wikipedia.org/w/index.php?title=Watcom_C/C%2B%2B&oldid=1269502303"