![]() | |
Оригинальный автор(ы) | Ватком |
---|---|
Разработчик(и) | Sybase , программное обеспечение SciTech |
Первоначальный выпуск | 1988 ( 1988 ) |
Стабильный релиз | 2.0 (постоянные обновления) / 4 декабря 2024 г. ( 2024-12-04 ) [1] |
Репозиторий | 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 |
|
1989 | Ватком С 7.0 | |
1989 | Ватком С 7.0/386 |
|
1990 | Ватком С 8.0 | |
1990 | Ватком С 8.0/386 |
|
1991 | Ватком С 8.5 | |
1991 | Ватком С 8.5/386 |
|
1992 | Ватком С 9.0 | |
1992 | Ватком С 9.0/386 |
|
Ватком С 9.01/386 |
| |
1993 | Watcom C/C++ 9.5 | |
1993 | Watcom C/C++ 9.5/386 |
|
1994 | Watcom C/C++ 10.0 |
|
1995 | Watcom C/C++ 10.5 |
|
1996 | Watcom C/C++ 10.6 |
|
1997 Q1 [6] | Watcom C/C++ 11.0 |
|
1998 | Watcom C/C++ 11.0B | |
1999-06-30 |
| |
2000-08-22 |
| |
2001-09-27 | Watcom C/C++ 11.0c Бета | |
21.12.2002 | Watcom 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 |
|
Первоначальный выпуск: 2015-04-02, последующие обновления, по крайней мере до 2025 года | Откройте Watcom 2.0 Beta |
|
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]