Ватком C/С++
Оригинальный автор(ы) | Ватком |
---|---|
Разработчик(и) | Sybase , научно-техническое программное обеспечение |
Первоначальный выпуск | 1988 |
Стабильная версия | 1,9 / 2 июня 2010 г |
Предварительный выпуск | 2.0 / 1 декабря 2022 г [1] |
Репозиторий | github |
Написано в | С , С++ |
Операционная система | ДОС , Windows , OS/2 , Linux |
Платформа | х86 , ИА-32 , х86-64 |
Размер | 66–84 МБ |
Тип | Интегрированная среда разработки |
Лицензия | Общественная лицензия Sybase Open Watcom, версия 1.0 |
Веб-сайт | openwatcom |
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 .
Стабильная версия 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] Спуск , [5] Duke Nukem 3D , [5] Восстание Триады , [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]
Варианты
[ редактировать ]Есть неофициальный форк [16] Open Watcom V2 на GitHub . [17] Вариант запуска 16-битной библиотеки DOS CRT был создан с помощью WASM . [18]
Совместимость
[ редактировать ]Синтаксис Open Watcom поддерживает множество соглашений. [ который? ] представлено другими компиляторами, такими как Microsoft и Borland , включая различные соглашения [ который? ] относительно (например) количества начальных подчеркиваний в теге «asm». Код, написанный специально для другого компилятора, а не для соответствующего стандарту C или C++, часто компилируется с помощью компилятора Watcom.
По умолчанию компилятор поддерживает стандарты C89/C90.
Open Watcom поддерживает частичную совместимость со стандартом C99 . Он реализует наиболее часто используемые части стандарта. Однако они включаются только через недокументированный ключ командной строки «-za99». Три функции C99 были включены в расширение C90 , начиная с версии до 1.0: комментарии в стиле 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 года.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск 01 декабря 2022 г., сборка · open-watcom/open-watcom-v2» . Гитхаб .
- ^ «Последний выпуск (июнь 2010 г.) — Open Watcom» . Вики OpenWatcom.org. Архивировано из оригинала 18 января 2015 года.
- ^ Jump up to: Перейти обратно: а б «Изменения в выпуске компилятора C» . Откройте Ватком . 9 марта 2010 г. Архивировано из оригинала 3 февраля 2015 г.
- ^ Jump up to: Перейти обратно: а б Список основных отличий бета-версии v1.9 от v2.0.
- ^ Jump up to: Перейти обратно: а б с д История — Открыть Watcom . Вики OpenWatcom.com.
- ^ SYBASE INC. ОБЪЯВЛЯЕТ ВЕРСИЮ WATCOM C/C++ 11.0, включающую новую поддержку технологии MMX и улучшенную поддержку языка C++.
- ^ Уведомление об окончании срока службы Watcom C/C++ версии 11.0.
- ^ Sybase для компиляторов Watcom C/C++ и Fortran с открытым исходным кодом - программное обеспечение SciTech выбрано в качестве официального сопровождающего проекта Open Watcom
- ^ Фонд свободного программного обеспечения. «Различные лицензии и комментарии к ним» . Операционная система GNU . Проверено 23 декабря 2014 г.
- ^ Установка Open Watcom в Linux — Open Watcom . Вики OpenWatcom.org.
- ^ «RotT был написан на Watcom C++ v10.0 с расширением Rational Systems DOS/4GW» .
- ^ «Как 5 лет горящих амбиций привели Retro City Rampage в DOS» . Гамасутра. 10 июля 2015 г.
- ^ «#12011 (для компиляции BIOS требуется компилятор Open Watcom) – Oracle VM VirtualBox» . www.virtualbox.org . Проверено 17 июня 2017 г.
- ^ «Спецификация FreeDOS» . Бесплатная DOS . Архивировано из оригинала 1 мая 2019 года.
- ^ «Информация для разработчиков» . arcanoae.com . Проверено 6 сентября 2020 г.
- ^ «Открытая вилка Watcom V2» .
- ^ «Откройте проект Watcom V2 Fork на GitHub» . Гитхаб .
- ^ «Архив pcdosasm.zip» . 27 июля 2010 г. Проверено 10 февраля 2014 г.
Модифицированный код Open Watcom C/C++ DOS 16-bit ..\STARTUP\DOS\CSTRT086.ASM
- ^ «Соответствие C99 в Open Watcom» . Проверено 30 ноября 2020 г.
- ^ ИСО/МЭК ТР 24731-1; Расширение библиотеки C, часть 1: интерфейсы проверки границ.
- ^ WG14 N1969 - «Обновленный практический опыт с Приложением K - Интерфейсы проверки границ», Карлос О'Донелл, Мартин Себор
- ^ «Откройте библиотеку Watcom Safer C» . Проверено 30 ноября 2020 г.
Дальнейшее чтение
[ редактировать ]- 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 )