PHP マニュアル
前のページ |  | 次のページ

# bcompiler_write_exe_footer

(PECL)

bcompiler_write_exe_footer -- 開始位置および exe 形式ファイルのフッタを書き込む

## 説明

bool bcompiler_write_exe_footer ( resource filehandle, int startpos )

警告
この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。

EXE (あるいは実行可能) ファイルは、3 つの部分からできています。

PHP インタプリタ・bcompiler 拡張モジュール・保存されたバイトコードを 読み込み、指定した関数をコールためのスタブ (実行可能なコード。たとえばコンパイル済の C プログラムなど)
バイトコード (この場合は圧縮していないもののみが対象となります)
bcompiler の EXE フッタ

startpos はファイル内でのバイトコードの開始位置で、 ftell($fh) を使用して取得することが可能です。

bcompiler の CVS 上で examples/embed ディレクトリにある、 php_embed ベースのスタブ phpe.c をコンパイルすることで 適切なスタブが取得できます。

例 1. bcompiler_write_footer() の例
`<?php /* 出力ファイル (example.exe) を作成します */ $fh = fopen("example.exe", "w"); /* 1) スタブ (phpe.exe) を書き込みます */ $size = filesize("phpe.exe"); $fr = fopen("phpe.exe", "r"); fwrite($fh, fread($fr, $size), $size); $startpos = ftell($fh); /* 2) バイトコードを書き込みます */ bcompiler_write_header($fh); bcompiler_write_class($fh, "myclass"); bcompiler_write_function($fh, "main"); bcompiler_write_footer($fh); /* 3) EXE フッタを書き込みます */ bcompiler_write_exe_footer($fh, $startpos); /* 出力ファイルを閉じます */ fclose($fh); ?>`

bcompiler_write_header()、 bcompiler_write_class() および bcompiler_write_footer() も参照ください。

前のページ | ホーム | 次のページ
bcompiler_write_constant | 上に戻る | bcompiler_write_file