Из Википедии, бесплатной энциклопедии
  (Перенаправлено из компилятора Watcom C )
Перейти к навигации Перейти к поиску

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

История [ править ]

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

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

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

История выпусков [ править ]

Open Watcom Wiki имеет полную историю. [4] [2]

Лицензия [ править ]

Инициатива Open Source одобрила лицензию в качестве открытого источника , но Debian , Fedora и Фонд свободного программного обеспечения отвергли его , потому что «Он требует , чтобы опубликовать исходный код публично всякий раз , когда вы„Deploy“крытое программное обеспечение, и„Развертывание“определяются включать многие виды личного пользования ". [8]

Дизайн [ править ]

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

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

Использует [ редактировать ]

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

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

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

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

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

Варианты [ править ]

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

Совместимость [ править ]

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

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

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

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

См. Также [ править ]

  • Откройте Watcom Assembler

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Страницы Sybase, Inc.: Watcom C / C ++ версии 11.0

Откройте Watcom [ править ]

  • Откройте официальный сайт Watcom (Архивировано17 марта 2015 г., наWayback Machine)
  • Откройте бинарные загрузки Watcom V1.9
  • Откройте Watcom V2 Fork на GitHub
  • Откройте бинарные файлы для загрузки Watcom V2 Fork
  • Пол Се. (8 мая 2005 г.). "Часто задаваемые вопросы программиста WATCOM C / C ++" . Проверено 7 октября 2008 года .
  • Рик Грехан (октябрь 1994 г.). «Watcom C / C ++ обретает новое лицо» . БАЙТ . 19 (10): 111. архивации от оригинала на 1997-07-12 . Проверено 14 мая 2011 .