Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 17, 2011 13:18:19

Bdfy1
От:
Зарегистрирован: 2009-11-03
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

python и ctypes

Вопрос следующий.
Есть простая C функция. Вот такая:

struct str {
int a;
int b;
int c[100]
};

struct str test()
{
struct str *buffer = (struct str *)malloc(sizeof(struct str));
buffer -> a = 1000;
buffer -> b = 2000;
int i;
for (i=0;i<100;i++) {
buffer -> c[i] = i;
}
return *buffer;
}
т е создает она стуктуру простую, для нее выделяет память и возвращает обратно. Вопрос следующий как ее правильно использовать в pyhon ? ( нашел что для этого нужно использовать ctypes ). По идее в данном случае выделенная память после возвращения не будет освобождена в python ? Правильнее сначала определить данную структуру в python после передать ссылку на ее и заполнить в этой функции ? есть ли пример python-обвязки?



Офлайн

#2 Авг. 17, 2011 13:55:53

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

python и ctypes

И что, по вашему, случится с buffer после завершения работы test? Есть мнение, что память протечёт — хоть из С вызывайте, хоть из Питона.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version