Найти - Пользователи
Полная версия: Python + C
Начало » Python для экспертов » Python + C
1
alexeyvanzhula
Есть, например, простой питоновский класс.
Мне нужно его переписать на Си так чтобы он был обычным питоновским модулем и чтобы мог наследоваться так же как и питоновский прототип. То есть ClassA( переписаный на Си питоновский класс) и наследование его в питоне должно быть прозрачно ( class ClassB( ClassA ) ).
Соответственно функции портированого класса должны возвращать, преобразованые в питоновский тип, результаты.
Что проще для этого использовать? Хватит ли для этого distutils. И вообще с удовольствием выслушаю любые размышления на эту тему.
Shaman
distutils, вродь, немного о другом. Для аналогичных задач пока остановил свой выбор на cython, подход которого мне показался более простым и прозрачным чем у нахваливаемого boost python.
alexeyvanzhula
я не хочу получать транслированый с ситона код. Я хочу написать на С аналогичный класс для дальнейшего наследования в питоне.
Ой distutils перепутал с setuptools.
Shaman
alexeyvanzhula
я не хочу получать транслированый с ситона код.
Это дело ваше.
alexeyvanzhula
Я хочу написать на С аналогичный класс для дальнейшего наследования в питоне.
Писал на C++ классы и заворачивал их цитоном в питон.
Выше python api только буст, насколько я знаю.
alexeyvanzhula
я имел ввиду способ описанный здесь http://habrahabr.ru/post/44520/
Все таки код написаный на чистом Си вызывает больше уверенности в скорости исполнения итогового модуля. Поправьте если я не прав. Мне нужна максимальная скорость наследуемого класса. И только Си (не ++)
Shaman
alexeyvanzhula
я имел ввиду способ описанный здесь
При таких ограничениях придётся напрямую общаться с python api, который придётся основательно выучить, и иметь массу удовольствия от ручного контроля ссылок на питон-объекты.
alexeyvanzhula
я в принципе так и думал. спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB