Уведомления

Группа в Telegram: @pythonsu

#1 Март 30, 2010 18:46:04

злой_ум
От:
Зарегистрирован: 2010-03-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

reference to pointer in python

всем, привет! вопрос такой:
есть Си(шная) библиотека, в ней фнкция :

void foo(const char *file, double *&array, int &size)
котроая просто достает какие то данные из файл в массив,

как вызвать ее из питона?



Офлайн

#2 Март 30, 2010 19:33:47

w0id
От:
Зарегистрирован: 2010-03-29
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Офлайн

#3 Март 30, 2010 19:46:58

злой_ум
От:
Зарегистрирован: 2010-03-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

reference to pointer in python

w0id
http://docs.python.org/library/ctypes.html#module-ctypes ?
может я конечно вопрос, не правильно задал, но меня интересует конкретная реализаяция для ссылок, доки на сколько это время позволяет прочел, ничего не нашел
array = (POINTER(c_double))()
size = c_int()
foo('blabla.bla', array, size)
не проканало=(



Офлайн

#4 Март 30, 2010 20:25:48

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

reference to pointer in python

ctypes - библиотека для работы с C.
Приведенный вами пример
void foo(const char *file, double *&array, int &size)
- это С++, в котором появились ссылки. Почувствуйте разницу.
ctypes НЕ работает с С++ и НЕ ЗНАЕТ о C++ calling conversions, name mangling и т.д.



Офлайн

#5 Март 31, 2010 11:49:59

злой_ум
От:
Зарегистрирован: 2010-03-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

reference to pointer in python

спасибо, просто с чистым С почти никогда не имел дела, только с плюсами=)



Офлайн

#6 Апрель 2, 2010 12:31:42

dervish_candela
От:
Зарегистрирован: 2010-04-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

reference to pointer in python

плюсы можно по идее (полу) автоматически свигом обернуть. там всё (относительно) просто.



Офлайн

#7 Апрель 2, 2010 20:09:56

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

reference to pointer in python

Нет уж, увольте. Если плюсы нужно оборачивать - то только boost.python
swig - гадость та еще.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version