|
Последние активные темы форума |
|
bcompiler_write_exe_footer
(no version information, might be only in CVS) bcompiler_write_exe_footer -- Writes the the start pos, and sig to the end of a exe type file
Descriptionbool bcompiler_write_exe_footer ( resource filehandle, int startpos ) Внимание |
Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ.
Поведение этой функции, ее имя и относящаяся к ней документация
могут измениться в последующих версиях PHP без уведомления.
Используйте эту функцию на свой страх и риск. |
An EXE (or self executable) file consists of 3 parts,
The stub (executable code, e.g. a compiled C program) that loads PHP
interpreter, bcompiler extension, stored Bytecodes and initiates a call
for the specified function (e.g. main) or class method (e.g. main::main)
| The Bytecodes (uncompressed only for the moment) | The bcompiler EXE footer |
The startpos is the file position at
which the Bytecodes start, and can be obtained using ftell($fh).
To obtain a suitable stub you can compile php_embed-based stub phpe.c
located in the examples/embed directory on bcompiler's CVS.
Пример 1. bcompiler_write_footer() example
<?php
/* creating the output file (example.exe) */
$fh
=
fopen
(
"example.exe"
,
"w"
);
/* 1) writing a stub (phpe.exe) */
$size
=
filesize
(
"phpe.exe"
);
$fr
=
fopen
(
"phpe.exe"
,
"r"
);
fwrite
(
$fh
,
fread
(
$fr
,
$size
),
$size
);
$startpos
=
ftell
(
$fh
);
/* 2) writing bytecodes */
bcompiler_write_header
(
$fh
);
bcompiler_write_class
(
$fh
,
"myclass"
);
bcompiler_write_function
(
$fh
,
"main"
);
bcompiler_write_footer
(
$fh
);
/* 3) writing EXE footer */
bcompiler_write_exe_footer
(
$fh
,
$startpos
);
/* closing the output file */
fclose
(
$fh
);
?>
|
|
Смотрите также bcompiler_write_header(),
bcompiler_write_class(), and
bcompiler_write_footer().
|