Как я могу встроить Perl в приложение C++?

StackOverflow https://stackoverflow.com/questions/49168

  •  09-06-2019
  •  | 
  •  

Вопрос

Я хотел бы вызвать файлы сценариев Perl из моей программы на C++.

Я не уверен, что у людей, которым я буду распространять, будет установлен Perl.

По сути, я ищу файл .lib, который я могу использовать и имеющий лицензию на распространение, подобную Apache.

Это было полезно?

Решение

Вы можете встроить Perl в свое приложение.

Другие советы

Я в настоящее время Пишу библиотеку для встраивания Perl в C++, но она еще не закончена.В любом случае я бы рекомендовал не использовать библиотеку EP.Он не только не обслуживался в течение многих лет, но также имеет некоторые серьезные архитектурные недостатки и довольно ограничен в своих возможностях.Если вас интересует альфа-версия программного обеспечения, вы можете связаться со мной по этому поводу, в противном случае я бы посоветовал вам использовать тот сырой API.

Как уже упоминал кто-то другой, чтобы вызвать Perl из C++, вам нужно использовать API;базовое руководство доступно в Перлксстут документация.

Обратите внимание, что вам, скорее всего, понадобится нечто большее, чем просто «.lib», потому что вам понадобится множество крошечных модулей, которые расположены в каталоге «lib» дистрибутива Perl:строгий.pm и т. д.Я думаю, это не имеет большого значения;упомянутый вами пример Apache имеет то же ограничение на доставку некоторых файлов конфигурации по умолчанию и т. д.

Однако при распространении Perl в Windows (думаю, вы используете Windows, поскольку вы упомянули файл .lib) дистрибутив ActiveState, который используют все, может вызвать некоторые проблемы с лицензированием.Мне это не совсем понятно, но похоже, что ActivePerl нельзя распространять в коммерческом продукте.Обратите внимание: если вы хотите встроить Perl в программу на C++, вам, возможно, придется перекомпилировать ее в любом случае, чтобы иметь одинаковые флаги компиляции в Perl и в вашей программе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top