Гибридное приложение с графическим интерфейсом Python и фоновыми модулями C

#c #python #boost #wxpython

#c #python #повышение #wxpython

Вопрос:

Я хочу написать гибридное приложение, которое использует Python в качестве компонента GUI и модуль C в качестве фоновых сервисов.

Я знаю, как программировать на Python и C , но я не нахожу зрелого / приятного способа заставить их работать вместе гладко. Не могли бы вы, ребята, пролить немного света на это для меня? Также очень ценится хороший документ / учебное пособие.

Ответ №1:

Мне нравится использовать cython для написания связующего кода между этими двумя мирами, или, если я хочу более сильного разделения по какой-либо причине, мне нравится подход ctypes.

Ответ №2:

Если вам удобно использовать boost, выберите boost python. (Учебное пособие)

В противном случае используйте CPython API напрямую.

С помощью любого из них вы можете создавать модули Python ( .pyd -файлы) на C .


У меня есть опыт работы с boost Python, и я нахожу это очень удобным и простым. Недостатком является то, что это приводит к огромному времени компиляции, поскольку оно в значительной степени зависит от метапрограммирования шаблонов.

Ответ №3:

Помимо boost, есть также SWIG (http://www.swig.org /). SWIG использовался для привязок wxPython к C . Новая версия wxPython будет использовать SIP, который, я думаю, PyQt также использует:http://www.riverbankcomputing.co.uk/software/sip/intro

Также может быть возможность сброса оболочки: http://shed-skin.blogspot.com