Форум сайта python.su
В программу на Си можно вставить код Питона, а вот в код на Питоне можно вставить Си?
Если нет, то есть ли какой-нибудь модуль который дает эту возможность?
Спасибо!
Офлайн
edenДа легко, например так
В программу на Си можно вставить код Питона, а вот в код на Питоне можно вставить Си?
Если нет, то есть ли какой-нибудь модуль который дает эту возможность?
Спасибо!
Отредактировано (Сен. 30, 2008 09:42:45)
Офлайн
Ага, Спасибо
Офлайн
Pyrex/Cython, PyInline, и, врде как, есть какой-то отщепенец от PyInline.
p.s. Если пишешь на Си, то boost может пригодиться.
..bw
Отредактировано (Сен. 30, 2008 12:52:09)
Офлайн
Спасибо
Офлайн
Все правильно написали.
Если есть готовая библиотека с простым C API - ctypes.
Нужно чуть больше - pyrex
Требуется приличный C++ “с классами” - boost.python
SWIG не рекомендую - гадость, ИМХО
Писать на Python C API тоже не рекомендую. Читать - нужно уметь. Писать - слишком много и сложно.
Офлайн
На SWIG, если не ошибаюсь (сейчас лень смотреть) сделаны PyOpenGL, wxPython и прочие порты.
Знать Python/C все же нужно, если браться за Pyrex/Cython, то этот API тебе понадобится (с очень большой вероятностью), пусть по мелочам, но ориентироваться и понимать основу Python/C необходимо.
..bw
Офлайн
Python/C -ещё б доки на русском найти, а то переводить самому нет времени
Офлайн
А чего там переводить. Уроков нет, только справочник. Самая большая проблема - это путаница в учете ссылок.
..bw
Офлайн
Третий PyOpenGL переписан на ctypes.
Про использование SWIG в wxPython цензурными словами отзываться сложно. Муть редкостная. Ребят оправдывает только почтенный возраст проекта - тогда просто не было достойных альтернатив.
Офлайн