Open Watcom

Open Watcom - проект співтовариства відкритого коду по підтримці і розвитку многоплатформних компіляторів Watcom C, C + + та Fortran і супутніх програм. [1] Ліцензія відкритого ПЗ від Sybase дозволяє вільне комерційне та некомерційне використання пакета Open Watcom. [2]


1. Історія [3]

Історія компілятора починається в далекому 1965 році, коли четверо студентів Університету Ватерлоо [4] в Канаді під керівництвом професора за три місяці роботи створили компілятор Фортрану WATFOR. [5] Він працював на платформах IBM 7040, IBM System/360 і DEC PDP-11. У 1980 році була розроблена нова версія для IBM 360 і IBM PC, яка підтримувала стандарт Фортран 77. Через рік була утворена фірма Watcom, яка в 1988 році представила компілятор C.

Компілятори Watcom для мов Сі і C + + цінувалися розробниками програм під DOS за генерацію компактного і швидкого коду, а також за те, що ці компілятори одними з перших запропонували підтримку захищеного режиму процесорів Intel 80386. У середині 1990-х деякі культові гри під DOS, такі як Doom, Descent, Duke Nukem 3D, Warcraft II були скомпільовані Watcom C.

У 2003 році, після проблем з новою версією компілятора, а також неможливістю конкурувати з фірмою Microsoft, фірма Sybase, яка придбала Watcom в 1995 році, вирішила відкрити вихідні коди компіляторів. Так був створений проект Open Watcom під егідою фірми SciTech Software. [6] В даний час проект розвивається самостійно. На жаль Open Watcom компілятор не повністю підтримує стандарт С + +, що не дозволяє вважати його повноцінним С + + компілятором і заважає його широкому використанню.

Хоча Sybase більше не продає компілятори Watcom, вони доступні як пакет відкритого програмного забезпечення OpenWatcom за допомогою компанії SciTech.

Дата Продукт Примітки
1984 Waterloo C для S/370
1985 Розпочато роботу над основою нинішнього кодогенератора
1988 Watcom C 6.0
  • Робота під і генерація коду тільки для DOS
  • Включені відладчик і набір бібліотек часу виконання
  • Породжуваний код кращий серед компіляторів того часу
1989 Watcom C 7.0
1989 Watcom C 7.0/386
1990 Watcom C 8.0
1990 Watcom C 8.0/386
  • Додані компонувальник, бібліотекар, відладчик і профайлер
  • Додана графічна бібліотека
1991 Watcom C 8.5
1991 Watcom C 8.5/386
  • Поставка з розширювачем DOS DOS/4GW
  • Підтримка Windows 3.0 (розширювач Win386)
  • Підтримка Юнікоду
  • Додані виконувані модулі для роботи під OS / 2
1992 Watcom C 9.0
1992 Watcom C 9.0/386
  • Робота під і генерація коду для OS / 2 v2.00
  • Додана оптимізація коду для процесора 80486
  • Підтримка базованих покажчиків (based pointer)
Watcom C 9.01/386
1993 Watcom C / C + + 9.5
1993 Watcom C / C + + 9.5/386
  • Доданий компілятор C + +
  • Додана оптимізація коду для процесора Pentium
  • Робота під і генерація коду для Windows NT
1994 Watcom C / C + + 10.0
1995 Watcom C / C + + 10.5
  • Обробка виключень C + + під OS / 2 і Win32
  • Підтримка Windows 95 і NT 3.5
  • Можливість вилученого налагодження по TCP / IP
1996 Watcom C / C + + 10.6
  • Structured exception handling в C
  • Покращена сумісність з компіляторами Microsoft
1997 Watcom C / C + + 11.0
  • Підтримка namespace, RTTI і приведення типів в новому стилі в компіляторі C + +
  • Підтримка 64-бітових цілих чисел
  • Бібліотечна підтримка багатобайтові знаків
  • Підтримка инкрементальное компонування
  • Підтримка в компонувальнику і біліотекаре форматів об'єктних модулів COFF і ELF
  • Додані клони утиліт Microsoft (з тією ж назвою, списком опцій і функціональністю)
  • Додані утиліти у вигляді DLL для кращої інтеграції з середовищем розробки
1998 Watcom C / C + + 11.0B
1999 Sybase повідомляє про закінчення випуску (англ.) (end-of-life) Watcom C / C + + 11.0
2000 Sybase анонсує відкриття початкових кодів для утиліт Watcom
2001-09-27 Watcom C / C + + 11.0c Beta
2002-12-21 Watcom C / C + + 11.0c
2003-01-28 Open Watcom 1.0
2003-08-12 Open Watcom 1.1
2004-01-07 Open Watcom 1.2
2004-08-03 Open Watcom 1.3
2005-12-14 Open Watcom 1.4
2006-04-26 Open Watcom 1.5
2006-12-15 Open Watcom 1.6
2007-08-18 Open Watcom 1.7
2007-10-23 Open Watcom 1.7a
2008-02-21 Open Watcom 1.8
2010-06-02 Open Watcom 1.9

2. Платформи

Вихідний код компіляторів портіруем і, подібно багатьом іншим вільним компіляторам, начебто gcc, їх кодогенератор (backend) можна налаштувати на іншу цільову платформу.

Компілятори можуть працювати під управлінням (host - платформа розробника) і компілювати виконані код для (target - цільова платформа) операційних систем DOS, OS / 2 і Windows. Підтримується також створення модулів NLM (англ.) для Novell NetWare.

Йде робота по портированию компіляторів під операційні системи Linux [7] і останні версії BSD (наприклад, FreeBSD), що працюють на платформах x86, PowerPC і інших.

Open Watcom C / C + + версії 1.4, випущений в грудні 2005 року, має експериментальну підтримку Linux x86 як цільової платформи.

Мається код для підтримки QNX 4.25 [8], але для компіляції виконуваних модулів потрібні невільні бібліотеки.


Примітки

  1. Титульна сторінка сайту проекту - www.openwatcom.org / index.php / Main_Page (Англ.) . Open Watcom. Читальний - www.webcitation.org/65gczR5pM з першоджерела 24 лютого 2012.
  2. Sybase Open Watcom Public License version 1.0 - www.openwatcom.org / index.php / Open_Watcom_Public_License (Англ.) . Читальний - www.webcitation.org/65gd0k5ko з першоджерела 24 лютого 2012.
  3. History - www.openwatcom.com / index.php / History (Англ.) . Open Watcom. Читальний - www.webcitation.org/65gd1JhZn з першоджерела 24 лютого 2012.
  4. University of Waterloo - www.uwaterloo.ca/
  5. Peter W. Shantz, RA German, JG Mitchell, RSK Shirley, CR Zarnke. WATFOR - The University of Waterloo FORTRAN IV compiler - portal.acm.org / citation.cfm? doid = 363018.363059 / / Communications of the ACM. - ACM, січень 1967. - В. 1. - Т. 10. - С. 41-44. - ISSN 0001-0782 - - DOI : 10.1145/363018.363059 - dx.doi.org/10.1145/363018.363059 ISSN 0001-0782 - DOI : 10.1145/363018.363059 - dx.doi.org/10.1145/363018.363059
  6. Alt Richmond Inc - www.scitechsoft.com/
  7. Installing Open Watcom on Linux - www.openwatcom.org / index.php / Installing_Open_Watcom_on_Linux (Англ.) . Open Watcom. Читальний - www.webcitation.org/65gd2FbDn з першоджерела 24 лютого 2012.
  8. Налаштування OpenWatcom для QNX4 - forum.kpda.ru / index.php / topic, 269.0.html. Читальний - www.webcitation.org/65gd39vtm з першоджерела 24 лютого 2012.