これは gtk2hsC2hs コマンドで、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できます。
プログラム:
NAME
gtk2hsC2hs - C->Haskell インターフェイス ジェネレーター
SYNOPSIS
gtk2hsC2hs [OPTIONS] ... [ ヘッダーファイル ] バインディングファイル
DESCRIPTION
このマニュアル ページでは、 gtk2hsC2hs 指示。 の修正版です
c2hs(1) コマンド。Gtk2Hs スイートを構築するために必要なヘルパー プログラムです。
ライブラリ。
OPTIONS
プログラムは通常のGNUコマンドライン構文に従い、XNUMXつから始まる長いオプションがあります
ダッシュ( `-')。 オプションの概要は以下に含まれています。 完全な説明については、を参照してください。
その他のドキュメント。
gtk2hsC2hs 次のオプションを受け入れます。
-NS、 -?、 - 助けて
簡単なヘルプ
-v、 - バージョン
バージョン情報を表示する
-c CPP, --cpp=CPP
実行可能ファイルを使用する CPP C プリプロセッサを呼び出す
-C CPポップス、 --cpopts=CPポップス
CPPOPTS を C プリプロセッサに渡します
-o FILE, --output =FILE
結果を出力する FILE (で終わるはずです .hs)
-t パス, --output-dir =パス
生成されたファイルをPATHに配置します
-p プラットホーム、 --プラットフォーム=プラットフォーム
クロスコンパイルに使用するプラットフォーム
-k、 - 保つ
前処理された C ヘッダーを保持する
-l 名前、 --lock=名前
各外部呼び出しを関数 NAME でラップします。
-d タイプ、 --ダンプ=タイプ
内部情報をダンプします (デバッグ用)。TYPE は次のいずれかです。
· トレース トレースコンパイラフェーズ
· ゲンバインド トレースバインディング生成
· ctrav C 宣言の走査を追跡する
· CHS バインディング ファイルをダンプします (追加 。ごみ 名前まで)
ヘッダーファイル マーシャルされたライブラリに属するヘッダー ファイルです。 次で終わる必要があります
サフィックス .h.
バインディングファイル 対応する Haskell バインディング ファイルです。接尾辞で終わる必要があります。 .chs.
PLATFORM プラットフォーム名は次のいずれかになります。 x86_64-linux. i686-linux. m68k-パルモス。 この
ツールチェーンの残りの部分がクロスコンパイルをサポートしていると仮定すると、クロスコンパイルが可能になります。 の
デフォルトは現在のホスト プラットフォームです。
これらのオプションの中で最も便利なのはおそらく --cpopts (または -C)。 C ヘッダー ファイルの場合
C プリプロセッサを通過するには特別なオプション (-D や -I など) が必要です。これは次のとおりです。
彼らを渡す場所。
例
直接使用すると、 gtk2hsC2hs 通常は次のように呼ばれます。
gtk2hsC2hs lib.h Lib.chs
コラボレー lib.h はヘッダー ファイルであり、 Lib.chs Haskell バインディング モジュール。C-
と Haskell 側のインターフェイスです。 エラーが発生しない場合、結果は純粋な結果になります。
Haskellモジュール 図書館、ライブラリの Haskell API を実装します。
より高度な呼び出しは次のようになります。
gtk2hsC2hs --cpopts=-I/some/obscure/ディレクトリ --cppopts=-DEXTRA lib.h Lib.chs
しばしば、 lib.h 現在のディレクトリではなく、ヘッダー ファイルの XNUMX つに存在します。
ディレクトリ。 現在のディレクトリとは別に、C->Haskell は XNUMX つの場所で
header: まず、使用されるシステムの標準の include ディレクトリ内にあります。通常、これは
/ usr / include & / usr / local / include; 次に、次のすべてのディレクトリを調べます。
-I で言及されているDIR を介してプリプロセッサに渡されるオプション --cpopts.
警告
プリプロセッサに与えたいオプションが複数ある場合は、複数のオプションを使用します。
--cpopts= フラグ。
onworks.net サービスを使用して gtk2hsC2hs をオンラインで使用する