Использование скомпилированного кода C из Python GUI - PullRequest
0 голосов
/ 19 марта 2012

Я пишу приложение, в котором я кодирую весь мой интерфейс и графический интерфейс с библиотекой python (в частности, wxpython). Для этого приложения я хотел бы написать класс модели с C и использовать Python для использования скомпилированного кода C? Как это можно реализовать в python?

Я знаю, что это небольшой расплывчатый вопрос, но я борюсь с отправной точкой.

Ответы [ 3 ]

1 голос
/ 19 марта 2012

Вы можете попробовать Cython , который в основном представляет собой Python со встроенной поддержкой типов C и вызовов (он проходит через CPython API).

1 голос
/ 20 марта 2012

Вы можете строго разделить дизайн (часть Python) и код (часть C ++) следующим образом:

Напишите полную программу на С ++, которая работает в терминале / консоли, а затем заставьте приложение python вызывать эти терминальные программы на С ++ через os.Popen.

Итак, если ваша программа калькулятор, она делает это:

(Python GUI) 5 + 5 -> my_c_programm.exe "5 + 5" -> (возвращает) 10 -> (Python GUI) дисплей

таким образом вы можете использовать свою программу с графическим интерфейсом и без него.

Это проще и быстрее, чем встраивание Python в вашу программу на C ++ или расширение Python с помощью C ++.

Я в основном делаю то же самое в моем текущем проекте, но так:

php: мой веб-интерфейс Python: для структуры и логики и простота в эксплуатации C ++: для тяжелых расчетов и где мне нужно скорость

так php -> python -> c ++

и у меня это очень хорошо работает:)

1 голос
/ 19 марта 2012

Если вы используете CPython (наиболее популярную версию Python), вам необходимо изучить CPython C API . Другие реализации Python могут поддерживать или не поддерживать вызовы языка C. Вы также можете использовать библиотеку ctypes , которая более проста в освоении, но также более жесткая и может не поддерживать все, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...