Last modified 4 years ago Last modified on 2014/09/09 20:04:39

Trunk/hspcmpディレクトリ

HSP3.x用のコードジェネレーターソースが格納されています。(リポジトリを参照)

hspcmpは、HSPソーススクリプトから、HSP3の中間コードを生成します。 入力は、HSPソーススクリプト(拡張子が.hspのファイル)で、出力はオブジェクト中間コード(拡張子が.axのファイル)となります。

プロジェクトのルートディレクトリには、プラットフォーム間で共通のソースコードと、Linux版のmakefileが含まれています。 また、プラットフォーム依存のファイルが以下のディレクトリに格納されています。

  • linuxディレクトリ(Linux版のための追加ソースコード)
  • win32ディレクトリ(Windowsコンソール版のための追加ソースコード)
  • win32dllディレクトリ(Windows dll版のための追加ソースコード)

また、hspcmpは外部ツールのコンパイル呼び出しにも使用できます。

      例:Footy2でつくるエディッターで、HSPのコンパイルなどに

コンソール(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++ 2003
  • Microsoft Visual C++ 2005
  • Microsoft Visual C++ 2008

Windows依存部分について

Linux版は以下のWindows APIに依存する部分をサポートしていません。

  • COMコンポーネントのIID取得部分(COMの定義等で使用)

これ以外の機能は、基本的にHSP3(最新版)と同等の動作となります。

win32dllは、Windows版のHSPに付属する「hspcmp.dll」と同等のDLLファイルを生成します。 実行ファイルの生成も行ないますが、ファイルの暗号化はサポートされていません。 ファイル暗号化及びパックされたファイル(DPM)の管理はOpenHSPで独自の実装を行なうことを検討しています。

既知の問題点、todo

  • Linux版はコンパイルが通るだけで、まだ全機能の検証を行なっていません。不具合がある可能性があります。
more
Tools