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では含めていません。今後、独自の実装を行なうことを検討しています。