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

На GCC для предпочтения я использую -Wall -Wextra -Wwrite-strings -Werror, и также определяю стандарт с std=. Какой стандарт зависит от проекта: преимущественно на том, насколько портативный это должно быть.

причина я использую -Werror, то, что предупреждения недопустимы (мне), даже если они не представляют реальную ошибку. Я работал бы вокруг любого вызванного предупреждение, чем имел бы для игнорирования предупреждений каждый раз, когда я компилирую для остальной части моей жизни. Как только Вы позволяете предупреждения в компиляции, просто слишком легко пропустить то, которое не было там прошлым разом.

, Конечно, при контакте со сторонним кодом, иногда Вы не можете избавиться от предупреждений. Тогда я решил бы в зависимости от конкретного случая, ослабить ли эти -W опции, удалить -Werror и записать сценарий, чтобы проверить, что только ожидают, что предупреждения происходят, или возможно изменяют сторонний код (или чтобы "зафиксировать" предупреждение или отключить его с прагмами если возможный).

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
поделиться
Другие вопросы по тегам:

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