我有一个带有嵌入式 Perl 解释器的 C 程序。我希望能够从程序中预编译一些 Perl 代码。我怎么做?
基本原理(如果有人感兴趣的话)是能够编译一次,存储解析树,并执行多次(只要编译后的代码不变)。
谢谢!马杜
PS:我正在使用 Perl-5.8,不过如果 Perl-6.0 以任何方式让这变得更容易,我会很高兴。
我有一个带有嵌入式 Perl 解释器的 C 程序。我希望能够从程序中预编译一些 Perl 代码。我怎么做?
基本原理(如果有人感兴趣的话)是能够编译一次,存储解析树,并执行多次(只要编译后的代码不变)。
谢谢!马杜
PS:我正在使用 Perl-5.8,不过如果 Perl-6.0 以任何方式让这变得更容易,我会很高兴。
这是在 C 程序中嵌入 Perl 解释器时的默认行为。在您运行 perl_parse() 来解析 Perl 程序之后,您可以在同一个解析的 Perl 程序中反复使用 perl_run() 和 call_argv()。
您可以使用perlcc创建可执行文件或 C 源代码。
要编译您的 C 代码,您需要使用 perl 的库(可以是-lperl
or -llibperl
)。
参考 Perl 6,它并不完整。但是 5.10.0 可能会修复 5.8 以上的一些错误。