stringtranslate.com

Ватком C/С++

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 .

История

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

Стабильная версия 1.9 была выпущена в июне 2010 года. [2] [3]

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

История выпусков

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

Таблица истории выпусков

Лицензия

Инициатива открытого исходного кода одобрила лицензию как открытый исходный код , но Debian , Fedora и Фонд свободного программного обеспечения отклонили ее, поскольку «она требует, чтобы вы публиковали исходный код публично всякий раз, когда вы «развертываете» обслуживаемое программное обеспечение, а «развертывание» определяется включать многие виды частного использования». [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 году .

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

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

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

Варианты

На GitHub есть неофициальный форк [16] Open Watcom V2 . [17] Вариант запуска 16-битной библиотеки CRT для DOS был создан с помощью WASM . [18]

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

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

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

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

Компилятор в настоящее время не поддерживает новые [ когда? ] основные функции C11 , хотя библиотека C включает функции «Safe C». Он указан в ISO/IEC TR 24731-1 [20] [21] и известен как «Интерфейсы проверки границ (Приложение K)» в C11. Некоторые примеры имен функций: strcpy_s(), memcpy_s(), printf_s(). [22] Эта библиотека была выпущена вместе с Open Watcom 1.5 в апреле 2006 года.

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

Рекомендации

  1. ^ «Выпуск 01 декабря 2022 г., сборка · open-watcom/open-watcom-v2» . Гитхаб .
  2. ^ «Последний выпуск (июнь 2010 г.) - Open Watcom» . Вики OpenWatcom.org. Архивировано из оригинала 18 января 2015 года.
  3. ^ ab «Изменения в версии компилятора C» . Откройте Ватком . 9 марта 2010 г. Архивировано из оригинала 3 февраля 2015 г.
  4. ^ ab Список основных отличий бета-версии v1.9 от v2.0.
  5. ^ История abcd — Открыть Watcom. Вики OpenWatcom.com.
  6. ^ SYBASE INC. ОБЪЯВЛЯЕТ ВЕРСИЮ WATCOM C/C++ 11.0, включающую новую поддержку технологии MMX и улучшенную поддержку языка C++.
  7. ^ Уведомление об окончании срока службы Watcom C/C++ версии 11.0.
  8. ^ Sybase для компиляторов Watcom C/C++ и Fortran с открытым исходным кодом - программное обеспечение SciTech выбрано в качестве официального сопровождающего проекта Open Watcom
  9. ^ Фонд свободного программного обеспечения. «Различные лицензии и комментарии к ним». Операционная система GNU . Проверено 23 декабря 2014 г.
  10. ^ Установка Open Watcom в Linux — Open Watcom. Вики OpenWatcom.org.
  11. ^ «RotT был написан на Watcom C++ v10.0 с расширителем Rational Systems DOS/4GW» .
  12. ^ «Как 5 лет горящих амбиций привели Retro City Rampage в DOS» . Гамасутра. 10 июля 2015 г.
  13. ^ «# 12011 (для компиляции BIOS требуется компилятор Open Watcom) – Oracle VM VirtualBox» . www.virtualbox.org . Проверено 17 июня 2017 г.
  14. ^ «Спецификация FreeDOS». Бесплатная DOS . Архивировано из оригинала 1 мая 2019 года.
  15. ^ «Информация для разработчиков». arcanoae.com . Проверено 6 сентября 2020 г.
  16. ^ "Открытая вилка Watcom V2" .
  17. ^ «Открыть проект форка Watcom V2 на GitHub» . Гитхаб .
  18. ^ "Архив pcdosasm.zip" . 27 июля 2010 г. Проверено 10 февраля 2014 г. Модифицированный код Open Watcom C/C++ DOS 16-bit ..\STARTUP\DOS\CSTRT086.ASM
  19. ^ «Соответствие C99 в Open Watcom» . Проверено 30 ноября 2020 г.
  20. ^ ИСО/МЭК ТР 24731-1; Расширение библиотеки C, часть 1: интерфейсы проверки границ.
  21. ^ WG14 N1969 - «Обновленный практический опыт с Приложением K - Интерфейсы проверки границ», Карлос О'Донелл, Мартин Себор
  22. ^ «Откройте библиотеку Watcom Safer C» . Проверено 30 ноября 2020 г.

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

Внешние ссылки

Текущий
Архивы