Как скомпилировать Perl-код в программе на языке Си?
У меня есть программа на языке Си со встроенным интерпретатором Perl. Я хочу иметь возможность предварительно скомпилировать некоторый Perl-код из программы. Как мне это сделать?
Логическое обоснование (если кто-то заинтересован) состоит в том, чтобы иметь возможность скомпилировать его один раз, сохранить дерево синтаксического анализа и выполнить много раз (до тех пор, пока скомпилированный код не изменится).
Спасибо! Мадху
PS: я использую Perl-5.8, хотя было бы неплохо узнать, делает ли Perl-6.0 это проще в любом случае.
3 ответа:
Это поведение по умолчанию, когда вывнедряете интерпретатор Perl в программу на языке Си . После того как вы запустите perl_parse() для разбора программы на Perl, вы можете использовать perl_run() и call_argv() снова и снова с той же анализируемой программы на Perl.
Вы можете использоватьperlcc для создания исполняемых файлов или C-источников.
Чтобы скомпилировать код C, вам нужно будет использовать библиотеку perl (может быть
-lperl
или-llibperl
).