Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 9, 2013 16:02:33

karkadil
Зарегистрирован: 2013-08-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

C-структура с методами

Привет!

Подскажите, а можно ли из Python работать с си-структурами, которые содержат методы? А именно вызывать эти самые методы.

Есть у меня в си такая структура
struct Plugin
{
virtual PStatus Supports( const ioctl::Usb& Device ) = 0;
virtual PStatus FindInterface( const ioctl::Usb& Device, icu::UnicodeString& InterfaceName ) = 0;
};

Как с ней можно работать из Python? Куда копать? Поиском что-то ничего не находится, уже склоняюсь к мысли, что это невозможно вообще.

Спасибо!

Офлайн

#2 Авг. 9, 2013 21:04:08

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

C-структура с методами

karkadil
можно ли из Python работать с си-структурами, которые содержат методы?
karkadil
Есть у меня в си такая структура

в C у структур нет методов, C и C++ - разные языки



Отредактировано py.user.next (Авг. 9, 2013 21:04:42)

Офлайн

#3 Авг. 9, 2013 21:06:54

karkadil
Зарегистрирован: 2013-08-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

C-структура с методами

Да, тут я слажал, не знаком с этой разницей. Тем не менее, вопрос остается открытым: можно ли работать с такой структурой?

Офлайн

#4 Авг. 10, 2013 06:58:09

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

C-структура с методами

karkadil
Как с ней можно работать из Python? Куда копать? Поиском что-то ничего не находится, уже склоняюсь к мысли, что это невозможно вообще.
С этой? Точно так же как и из сей.

Офлайн

#5 Авг. 10, 2013 12:08:15

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

C-структура с методами

Офлайн

#6 Авг. 10, 2013 12:53:40

karkadil
Зарегистрирован: 2013-08-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

C-структура с методами

Ссылка на документацию - это очень хорошо, я ознакомился с ней прежде чем задавать вопрос
Там рассматриваются только обычные переменные (в том числе поля структуры типа c_int, c_char и т.п.). У меня же в качестве поля структуры ФУНКЦИЯ (метод), а не обычная переменная.

Как мне вообще описать в python структуру, указав, что в качестве одного из полей выступает фнукция, а не просто переменная?
Как потом вызвать этот метод?

Может кто-то привести элементарный пример?

Офлайн

#7 Авг. 10, 2013 13:14:55

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

C-структура с методами

Там пустая структура без функций и чего-либо вообще.

Офлайн

#8 Авг. 10, 2013 13:24:48

karkadil
Зарегистрирован: 2013-08-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

C-структура с методами

Shaman
Там пустая структура без функций и чего-либо вообще.

Где “там”? В моем примере приведенном структура с двумя методами Supports и FindInterface.

Как мне описать такую структуру в питоне и как потом у этой полученной структуры вызывать методы Supports и FindInterface?

Офлайн

#9 Авг. 10, 2013 13:47:40

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

C-структура с методами

karkadil
Где “там”? В моем примере приведенном структура с двумя методами Supports и FindInterface.
В вашем примере у вас структура с двумя _указателями_, работать с ними также как и с любыми другими
указателями на функции

Офлайн

#10 Авг. 10, 2013 14:04:13

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

C-структура с методами

Указатель в примере если и присутствует, то всего один.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version