これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド xsubpp です。
プログラム:
NAME
xsubpp - Perl XS コードを C コードに変換するコンパイラー
SYNOPSIS
xsubpp [-v] [-を除外する] [-s パターン] [-プロトタイプ] [-noversioncheck] [-nolinenumbers]
[-no最適化] [-typemap タイプマップ] [-出力 ファイル名]...ファイル.xs
DESCRIPTION
このコンパイラは通常、ExtUtils::MakeMaker または
Module::Build またはその他の Perl モジュール ビルド ツール。
xsubpp Cを許可するために必要な構造を埋め込むことにより、XSコードをCコードにコンパイルします
関数は Perl 値を操作し、Perl がそれらの値にアクセスできるようにするために必要な接着剤を作成します。
機能。 コンパイラはタイプマップを使用して、C 関数パラメータと
変数を Perl 値に変換します。
コンパイラは、次の名前のタイプマップ ファイルを検索します。 タイプマップ。 それは以下を使用します
デフォルトのタイプマップを見つけるための検索パス。右端のタイプマップが優先されます。
../../../タイプマップ:../../タイプマップ:../タイプマップ:タイプマップ
また、「ExtUtils::typemap」としてインストールされたデフォルトのタイプマップも使用します。
OPTIONS
「XSOPT」MakeMaker オプションを使用して、これらのオプションを任意の Makefile に追加できることに注意してください。
MakeMaker によって生成されました。
-hiertype
C++ 階層型をマッピングできるように、型名に「::」を保持します。
-を除外する
例外処理スタブを C コードに追加します。
-typemap タイプマップ
ユーザー指定のタイプマップがデフォルトよりも優先されることを示します
タイプマップ。 このオプションは複数回使用でき、最後のタイプマップには
最高の優先順位。
-出力 ファイル名
生成する出力ファイルの名前を指定します。 ファイルを指定しない場合は出力
標準出力に書き込まれます。
-v を印刷します xsubpp バージョン番号を標準出力に出力して終了します。
-プロトタイプ
デフォルトでは xsubpp すべての xsub のプロトタイプ コードを自動的に生成するわけではありません。 これ
フラグはプロトタイプを有効にします。
-noversioncheck
オブジェクト ファイル (「.xs」から派生したもの) かどうかを判断する実行時テストを無効にします。
ファイル) と「.pm」ファイルのバージョン番号は同じです。
-nolinenumbers
出力に「#line」ディレクティブが含まれないようにします。
-no最適化
特定の最適化を無効にします。 現在影響を受ける唯一の最適化は次のとおりです。
の使用 ターゲット出力 C コードによる (perlguts を参照)。 これにより大幅に速度が低下する可能性があります
生成されたコードをダウンしますが、これが方法です xsubpp 5.005 以前で動作していました。
-noinout
「IN」、「OUT_LIST」、および「INOUT_LIST」宣言の認識を無効にします。
-noargtypes
ANSI に似た関数シグネチャの記述の認識を無効にします。
-C++ 現在は全く何もしていません。 このフラグは多くのバージョンで無効でした
Perl の、少なくとも perl5.003_07 まで遡ります。 ここでは逆向きに許可されています
互換性。
-s=... or -ストリップ=...
この オプション is あいまいな 落胆。
指定した場合、指定された文字列が C の先頭から削除されます。
生成された XS 関数内の関数名 (そのプレフィックスで始まる場合)。 これ
「CODE」または「PPCODE」ブロックのない XSUB にのみ適用されます。 たとえば、XS の場合:
void foo_bar(int i);
「-s foo_」を指定して「xsubpp」を呼び出すと、Perl に「foo_bar」関数がインストールされます。
しかし、実際には C で bar(i) を呼び出します。ほとんどの場合、これは希望するものとは逆です。
また、障害モードはややわかりにくいため、可能な限りこのオプションを避けてください。
ENVIRONMENT
環境変数は使用されません。
onworks.net サービスを使用してオンラインで xsubpp を使用する
