![]() | |
| 原作者 | ワトコム |
|---|---|
| 開発者 | Sybase、SciTech ソフトウェア |
| 初回リリース | 1988年 |
| 安定リリース | 1.9 / 2010年6月2日 |
| プレビューリリース | 2.0 / 2024年12月4日[1] |
| リポジトリ | github.com/open-watcom/open-watcom-v2 |
| 書かれた | C、C++ |
| オペレーティング·システム | DOS、Windows、OS/2、Linux |
| プラットフォーム | x86、IA-32、x86-64 |
| サイズ | 66~84MB |
| タイプ | 統合開発環境 |
| ライセンス | Sybase Open Watcom パブリック ライセンスバージョン 1.0 |
| Webサイト | オープンワトコム |
Watcom C/C++ (現在はOpen Watcom C/C++ ) は、Watcom International CorporationのC、C++、およびFortranプログラミング言語用の統合開発環境(IDE) 製品です。Watcom C/C++ は、製造中止になるまでは商用製品でしたが、その後Sybase Open Watcom Public Licenseの下でOpen Watcom C/C++ としてリリースされました。この製品には、 16 ビットx86、32ビットIA-32、または 64 ビットx86-64互換プロセッサに基づくDOS、OS/2、Windows、およびLinuxオペレーティング システム用のコードを開発およびデバッグするためのツールが含まれています。
歴史
Sybaseでは商業的に販売されなくなりましたが、Watcom C/C++ コンパイラと Watcom FortranコンパイラはOpen Watcomパッケージとして無料で提供されています。
安定版バージョン1.9は2010年6月にリリースされました。[2] [3]
フォークバージョン2.0ベータ版がリリースされ、64ビットホスト(WindowsおよびLinux)、組み込みテキストエディタ、2フェーズビルドシステムをサポートし、DOSバージョンでは長いファイル名(LFN)をサポートしています。[ 4 ]
リリース履歴
Open Watcom Wikiには包括的な歴史があります。[5] [3]
ライセンス
オープンソース・イニシアティブは、このライセンスをオープンソースとして承認しましたが、Debian、Fedora、フリーソフトウェア財団は、「対象となるソフトウェアを『デプロイ』するたびにソースコードを公開することが求められ、『デプロイ』には多くの種類の私的使用が含まれると定義されている」という理由で、このライセンスを拒否しました。[9]
デザイン
コンパイラは、 DOS、OS/2、Windows、Linuxオペレーティングシステムから操作でき、これらのオペレーティングシステム用の実行可能コードを生成します。また、Novell NetWareのNLMターゲットもサポートしています。現在、 x86、PowerPC、その他のプロセッサ 上で動作するLinux [10]や最近のBSD(FreeBSDなど)オペレーティングシステムにターゲットを拡張する作業が進められています。
コードは移植可能であり、GCCやLCCなどの他の多くのオープン ソース コンパイラ プロジェクトと同様に、コンパイラ バックエンド (コード ジェネレーター) は再ターゲット可能です。
用途
1990年代半ばには、Doom、[5] Descent、[5] Duke Nukem 3D、[5] Rise of the Triad、[11] Tomb Raiderなど、技術的に最も野心的なDOS コンピュータゲームのいくつかが、Watcomコンパイラと DOS/4GW保護モードエクステンダーを使用してWatcom C/C++で構築されました。
2015年にRetro City RampageというゲームをDOSに移植する際に使用された。[12]
これはVirtualBoxでBIOSをコンパイルするために使用されました。[13]
FreeDOSの現在の開発では、すべてのCソースコードがOpen Watcom Cでコンパイル可能であることが必要である。[14]
Open Watcomは、OS/2ベースのArcaOSオペレーティングシステムのアプリケーションおよびドライバ開発に推奨されるコンパイラです。[15]
バリエーション
GitHubにはOpen Watcom V2の非公式フォーク[16]があり、[17] 16ビットDOS CRTライブラリスタートアップのバリアントがWASMで作成されました。[18]そして2024年12月現在メンテナンスされています。
互換性
Open Watcom の構文は、MicrosoftやBorlandなどの他のコンパイラによって導入された多くの規則[ which ? ]をサポートしています。これには、(たとえば) "asm" タグの先頭のアンダースコアの数に関する異なる規則[ which? ]が含まれます。標準に準拠した C または C++ ではなく、別のコンパイラ用に特別に記述されたコードは、多くの場合、Watcom コンパイラでコンパイルされます。
コンパイラはデフォルトで C89/C90 標準をサポートします。
Open Watcom はC99標準との部分的な互換性をサポートしています。標準の最も一般的に使用される部分を実装しています。ただし、それらは文書化されていないコマンドライン スイッチ "-za99" を通じてのみ有効になります。3 つの C99 機能は、 v1.0 以前からC90拡張機能としてバンドルされています。C++ スタイルのコメント (//)、柔軟な配列メンバー、enum 宣言で末尾のコンマが許可されています。[19]
コンパイラは現在、新しい主要な C11 機能をサポートしていませんが、Cライブラリには「Safe C」関数が含まれています。これは ISO/IEC TR 24731-1 [20] [21] で指定されており、C11では「境界チェック インターフェイス (付録 K)」として知られています。関数名の例としては、strcpy_s()、memcpy_s()、printf_s() などがあります。[22] このライブラリは、2006 年 4 月に Open Watcom 1.5 とともにリリースされました。
受付
1989 年 2 月の C コンパイラの最適化の概要で、BYTE はWatcom C 6.5 の「比類のない実行速度」を称賛し、最もANSI Cに準拠している点を指摘しました。同誌は「速度が絶対的に重要で、OS/2との互換性が重要でない場合は、Watcom を選択してください」とアドバイスしています。[23]
参照
参考文献
- ^ 「Current-build<! Releases · open-watcom/open-watcom-v2 -->」。GitHub 。 2024年12月9日閲覧。
- ^ 「最新リリース (2010 年 6 月) - Open Watcom」。OpenWatcom.org wiki。2015 年 1 月 18 日時点のオリジナルよりアーカイブ。
- ^ ab 「C コンパイラリリースの変更点」Open Watcom 2010年3月9日。2015年2月3日時点のオリジナルよりアーカイブ。
- ^ ab v1.9 と v2.0 ベータ版の主な違いのリスト。
- ^ abcd 履歴 - Open Watcom。OpenWatcom.com wiki。
- ^ SYBASE 社、MMX テクノロジーの新規サポートと C++ 言語サポートの改善を含む WATCOM C/C++ バージョン 11.0 を発表
- ^ Watcom C/C++ バージョン 11.0 のサポート終了のお知らせ
- ^ Sybase が Watcom C/C++ および Fortran コンパイラをオープンソース化 - SciTech Software が Open Watcom プロジェクトの公式メンテナに選出
- ^ フリーソフトウェア財団。「さまざまなライセンスとそれらについてのコメント」。GNUオペレーティングシステム。2014年12 月 23 日閲覧。
- ^ Linux への Open Watcom のインストール - Open Watcom。OpenWatcom.org wiki。
- ^ 「RotT は、Rational Systems DOS/4GW エクステンダーを使用して Watcom C++ v10.0 で作成されました」。
- ^ 「5年間の野望がいかにしてRetro City RampageをDOSにもたらしたか」Gamasutra、2015年7月10日。
- ^ 「#12011 (BIOS のコンパイルには Open Watcom コンパイラが必要) - Oracle VM VirtualBox」。www.virtualbox.org 。2017 年 6 月 17 日閲覧。
- ^ “FreeDOS Spec”. FreeDOS . 2019年5月1日時点のオリジナルよりアーカイブ。
- ^ 「開発者向け情報」. arcanoae.com . 2020年9月6日閲覧。
- ^ 「Open Watcom V2 フォーク」。
- ^ 「 GitHubで Watcom V2 フォーク プロジェクトを開く」。GitHub 。
- ^ "pcdosasm.zip アーカイブ". 2010-07-27 . 2014-02-10取得。
修正された Open Watcom C/C++ DOS 16 ビット ..\STARTUP\DOS\CSTRT086.ASM コード
- ^ 「Open Watcom の C99 準拠」。2021 年 3 月 29 日時点のオリジナルよりアーカイブ。
- ^ ISO/IEC TR 24731-1; C ライブラリの拡張、パート 1: 境界チェック インターフェイス。
- ^ WG14 N1969 — 「附属書 K 境界チェックインターフェースに関する最新の現場経験」、Carlos O'Donell、Martin Sebor
- ^ 「Open Watcom Safer C Library」。2020年11月30日閲覧。
- ^ Apiki, Steven; Udell, Jon (1989年2月). 「Smoothing Out C」. BYTE . pp. 170–186 . 2024年10月8日閲覧。
さらに読む
- Watcom C/C++ が新たな顔を獲得 – 1994 年 10 月号 BYTE 誌のレビュー
- WATCOM C/C++ プログラマー向け FAQ
外部リンク
- 現在
- Open Watcom 2.0 フォーク – GitHub
- アーカイブ
- Open Watcom 1.9 – GitHub
- Open Watcom 1.9 – (2015 年 3 月 17 日アーカイブ、 Wayback Machine )
- Sybase Watcom C/C++ バージョン 11.0 – (1999 年 10 月 13 日、Wayback Machineにアーカイブ)

