Как мне скомпилировать Perl-код в программе на C? - PullRequest
6 голосов
/ 04 ноября 2008

У меня есть программа на C со встроенным интерпретатором Perl. Я хочу иметь возможность предварительно скомпилировать некоторый Perl-код изнутри программы. Как мне это сделать?

Обоснование (если кому-то это интересно) должно быть в состоянии скомпилировать его один раз, сохранить дерево разбора и выполнять много раз (если скомпилированный код не изменяется).

Спасибо! Мадху

PS: я использую Perl-5.8, хотя было бы хорошо узнать, облегчает ли это Perl-6.0 каким-либо образом.

Ответы [ 3 ]

11 голосов
/ 04 ноября 2008

Это поведение по умолчанию, когда вы встраиваете интерпретатор Perl в программу на C . После того, как вы запустили perl_parse () для анализа Perl-программы, вы можете использовать perl_run () и call_argv () снова и снова с одной и той же проанализированной Perl-программой.

2 голосов
/ 06 ноября 2008

Вы можете использовать perlcc для создания исполняемых файлов или исходников на языке C.

Чтобы скомпилировать ваш код на C, вам необходимо использовать библиотеку perl (может быть -lperl или -llibperl).

0 голосов
/ 06 ноября 2008

Что касается Perl 6, он не завершен. Но в 5.10.0 могут быть исправлены некоторые ошибки более 5.8.

...