Найти - Пользователи
Полная версия: python и ctypes
Начало » Python для новичков » python и ctypes
1
Bdfy1
Вопрос следующий.
Есть простая 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-обвязки?
Андрей Светлов
И что, по вашему, случится с buffer после завершения работы test? Есть мнение, что память протечёт — хоть из С вызывайте, хоть из Питона.
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