Trunk/hspcmpディレクトリ
HSP3.x用のコードジェネレーターソースが格納されています。(リポジトリを参照)
hspcmpは、HSPソーススクリプトから、HSP3の中間コードを生成します。 入力は、HSPソーススクリプト(拡張子が.hspのファイル)で、出力はオブジェクト中間コード(拡張子が.axのファイル)となります。
プロジェクトのルートディレクトリには、プラットフォーム間で共通のソースコードと、Linux版のmakefileが含まれています。 また、プラットフォーム依存のファイルが以下のディレクトリに格納されています。
- linuxディレクトリ(Linux版のための追加ソースコード)
- win32ディレクトリ(Windowsコンソール版のための追加ソースコード)
- win32dllディレクトリ(Windows dll版のための追加ソースコード)
コンソール(CUI)版の使い方
(例) test.hspファイルをコンパイルする
> hspcmp test.hsp
また、いくつかのオプションを指定することができます。
オプション -d (デバッグ情報を追加する) オプション -p (プリプロセスのみ実行) オプション -c (HSP2.x互換モードで動作) オプション -o??? (出力ファイル名を???に設定する)
ソースのビルド方法(linux)
makefileを使用してgccでビルドすることが可能です。 現在確認しているgccのバージョンは、以下の通りです。
- gcc4.1.1 (Fedra Core6)
ソースのビルド方法(win32)
VC++用のプロジェクトを読み込んでビルドすることが可能です。 現在確認しているバージョンは、以下の通りです。
- Microsoft Visual C++ 2005
Windows依存部分について
Linux版は以下のWindows APIに依存する部分をサポートしていません。
- COMコンポーネントのIID取得部分(COMの定義等で使用)
これ以外の機能は、基本的にHSP3.1と同等の動作となります。
また、実行ファイル作成、DPMファイル作成部分については、OpenHSPでは実装されていません。これらは、今後OpenHSP独自の仕組みを組み込むことを検討しています。
win32dllは、Windows版のHSPに付属する「hspcmp.dll」と同等のDLLファイルを生成します。
既知の問題点、todo
- Linux版はコンパイルが通るだけで、まだ全機能の検証を行なっていません。不具合がある可能性があります。
- 実行ファイル作成、dpmファイル作成、ファイル暗号化についてはOpenHSPでは含めていません。今後、独自の実装を行なうことを検討しています。