Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 5, 2013 20:37:26

alexeyvanzhula
Зарегистрирован: 2012-05-14
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + C

Есть, например, простой питоновский класс.
Мне нужно его переписать на Си так чтобы он был обычным питоновским модулем и чтобы мог наследоваться так же как и питоновский прототип. То есть ClassA( переписаный на Си питоновский класс) и наследование его в питоне должно быть прозрачно ( class ClassB( ClassA ) ).
Соответственно функции портированого класса должны возвращать, преобразованые в питоновский тип, результаты.
Что проще для этого использовать? Хватит ли для этого distutils. И вообще с удовольствием выслушаю любые размышления на эту тему.

Офлайн

#2 Июнь 5, 2013 21:19:26

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Python + C

distutils, вродь, немного о другом. Для аналогичных задач пока остановил свой выбор на cython, подход которого мне показался более простым и прозрачным чем у нахваливаемого boost python.

Офлайн

#3 Июнь 5, 2013 21:52:38

alexeyvanzhula
Зарегистрирован: 2012-05-14
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + C

я не хочу получать транслированый с ситона код. Я хочу написать на С аналогичный класс для дальнейшего наследования в питоне.
Ой distutils перепутал с setuptools.

Отредактировано alexeyvanzhula (Июнь 5, 2013 21:56:52)

Офлайн

#4 Июнь 5, 2013 21:58:55

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Python + C

alexeyvanzhula
я не хочу получать транслированый с ситона код.
Это дело ваше.
alexeyvanzhula
Я хочу написать на С аналогичный класс для дальнейшего наследования в питоне.
Писал на C++ классы и заворачивал их цитоном в питон.
Выше python api только буст, насколько я знаю.

Офлайн

#5 Июнь 5, 2013 22:06:05

alexeyvanzhula
Зарегистрирован: 2012-05-14
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + C

я имел ввиду способ описанный здесь http://habrahabr.ru/post/44520/
Все таки код написаный на чистом Си вызывает больше уверенности в скорости исполнения итогового модуля. Поправьте если я не прав. Мне нужна максимальная скорость наследуемого класса. И только Си (не ++)

Офлайн

#6 Июнь 5, 2013 22:16:35

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Python + C

alexeyvanzhula
я имел ввиду способ описанный здесь
При таких ограничениях придётся напрямую общаться с python api, который придётся основательно выучить, и иметь массу удовольствия от ручного контроля ссылок на питон-объекты.

Офлайн

#7 Июнь 6, 2013 07:50:31

alexeyvanzhula
Зарегистрирован: 2012-05-14
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + C

я в принципе так и думал. спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version