そのまんまプログラミング

 Open Watcom C/C++ 日本語化プロジェクト

 

  フロント | ハローワールド | ブログ | メール |

 Open Watcomは米国Sybase社が公開したオープンソースです。以前は商品として販売されていたものです。C/C++とFortranのコンパイラ開発環境で、IDE、デバッガ、リソースエディタなど、ひと通りのツールが用意されています。使用できる環境は、Windows、MS-DOS、OS/2やLinuxなど、多くのホスト環境で、さまざまなOSで走るプログラムが作成できます。

 「Open Watcom C/C++日本語化プロジェクト」は日本人に都合が良いように修正してみようという計画です。使ってみるとまだまだ不具合があります。Watcomに関する資料はほとんど見当たりません。現状を改善する活動があってもいいのではないかと考えました。

 Open Watcom C/C++ 日本語化プロジェクト版は、Open Watcom C/C++ ver.1.7a(http://www.openwatcom.com/)を元に日本語環境で使用できるように部分的に修正を施しました。(*ver.1.8-J001ではIDEを英語表示にもどしています)

 特筆すべき修正箇所は、Linux環境でも難なく日本語が表示できるようにコンパイラを改良した点です。 新しいコンパイラ・スイッチ(-zk0u8)を用意し、Shift-JISをUTF-8に変換する機能を追加しました。

最新情報

2010-03-05

Ver.1.7-J001を公開。
2008-08-26にVectorのサイトに公開した1.7Jは英語版に対して変更した差分のみであったが、今回は改めてソースコード全てをアーカイブにした。さらに、バイナリはインストーラにして簡単にセットアップできるようにした。

2010-03-03

SourceForgeに「Japanese Localization of Open Watcom」のサイトを設けた。

Ver.1.8-J001を公開。
*1.7-J001はIDEの表示を日本語に直したが、英語のヘルプや資料を確認する場合、日本語では検索できないという不都合が発生したため、1.8-J001は英語のままにした。
*Shift-JISをUTF-8に自動的に変換する新しいコンパイラ・スイッチ(-zk0u8)は1.7-J001と同じく継承した。
*Compiler Switchesの画面の「4. Miscellaneous Switches」を「4. Mult-byte Charactor Switches」に名称変更した。

2008-08-26

Open Watcom C/C++ 日本語化プロジェクト版  Japanese Contributor's 1.0を公開
 

   
   

使用方法

  基本的にオリジナル版と変わりません。 IDEが部分的に日本語に変わりましたので、理解しやすくなったかと思います。

  簡単に使用方法を覚えてもらうために、お馴染みの、ハロー・ワールド・プログラムを用意しました。 Flash Movieを御覧ください。

  Windowsでハロー・プログラム (日本語で「こんにちは、日本語を表示します」と、表示します。)
  Linuxでハロー・プログラム  (Windows版のソースからLinux用のプログラムを作ります。)  


補足説明

 UTF-8対応に関して、ほかに幾つかの方法があります。

1. 保存時に文字コードをUTF-8を選ぶ
 メモ帳には文字コードにUTF-8を選択して保存する機能があります。御存知の方はこの方法でクリアできるのではないかと考えるでしょう。しかし、コンパイラはエラーを表示します。
 原因はUTF-8で保存するとファイルの先頭にBOM(Byte Order Mark)が埋め込まれるためです。これはテキストファイルを読み込んだ時に判別するために付けられます。UTF-8の場合は先頭に3バイトの EF BB BF が付けられます。対策はバイナリエディタなどでBOMを削除することです。しかし、コンパイルは成功してもソースを修正するたびに行わなければなりません。
 その他、テキストエディタにBOMを埋め込まないものを選ぶことも良い方法です。

2. 端末ソフトで文字コードをShift-JISを選ぶ
 コンソールソフトには文字コードを選択できるものがあります。例えば、GNOME端末はShift-JIS、EUC-JP、ISO2022JPもサポートしています。Shift-JISでコンパイルし、実行時に文字コードをShift-JISにすればよいのです。
 しかしながら、Internet関連やLinuxではUTF-8が標準です。コンパイラをそれに対応させた方が有利ではないかと考えました。