Интерпретатор Python как класс C++

Я работаю над встраиванием Python в к C++. В некотором специфическом случае я требую двух отдельных экземпляров интерпретатора в том же потоке.

Я могу перенести интерпретатор Python в к классу C++ и получить сервисы от двух или больше экземпляров класса?

9
задан Amro 20 August 2012 в 23:55
поделиться

4 ответа

Callin Py_Initialize () дважды, не будет работать хорошо, однако Py_NewInterpreter может работать, в зависимости от того, что вы пытаетесь сделать. Внимательно прочтите документацию, при вызове необходимо держать GIL.

6
ответ дан 4 December 2019 в 08:15
поделиться

Вы можете, но я бы порекомендовал вам не повторно реализовывать интерпретатор Python при наличии стандартной реализации. Используйте boost :: python для взаимодействия с Python.

4
ответ дан 4 December 2019 в 08:15
поделиться
  • Вы можете позволить интерпретатору Python жить вне области памяти вашего приложения. Просто вставьте интерпретатор в DLL.
  • Вы можете настроить и сохранить контексты Python для имитации двух разных интерпретаторов.
0
ответ дан 4 December 2019 в 08:15
поделиться

Я не думаю, что вы первый, кто захочет это сделать, к сожалению, я считаю, что это невозможно. Можете ли вы запускать интерпретаторы Python как отдельные процессы и использовать RPC?

1
ответ дан 4 December 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: