На GCC для предпочтения я использую -Wall -Wextra -Wwrite-strings -Werror
, и также определяю стандарт с std=
. Какой стандарт зависит от проекта: преимущественно на том, насколько портативный это должно быть.
причина я использую -Werror
, то, что предупреждения недопустимы (мне), даже если они не представляют реальную ошибку. Я работал бы вокруг любого вызванного предупреждение, чем имел бы для игнорирования предупреждений каждый раз, когда я компилирую для остальной части моей жизни. Как только Вы позволяете предупреждения в компиляции, просто слишком легко пропустить то, которое не было там прошлым разом.
, Конечно, при контакте со сторонним кодом, иногда Вы не можете избавиться от предупреждений. Тогда я решил бы в зависимости от конкретного случая, ослабить ли эти -W
опции, удалить -Werror
и записать сценарий, чтобы проверить, что только ожидают, что предупреждения происходят, или возможно изменяют сторонний код (или чтобы "зафиксировать" предупреждение или отключить его с прагмами если возможный).
Callin Py_Initialize ()
дважды, не будет работать хорошо, однако Py_NewInterpreter
может работать, в зависимости от того, что вы пытаетесь сделать. Внимательно прочтите документацию, при вызове необходимо держать GIL.
Вы можете, но я бы порекомендовал вам не повторно реализовывать интерпретатор Python при наличии стандартной реализации. Используйте boost :: python для взаимодействия с Python.
Я не думаю, что вы первый, кто захочет это сделать, к сожалению, я считаю, что это невозможно. Можете ли вы запускать интерпретаторы Python как отдельные процессы и использовать RPC?