Форум сайта python.su
Привет!
Подскажите, а можно ли из Python работать с си-структурами, которые содержат методы? А именно вызывать эти самые методы.
Есть у меня в си такая структура
struct Plugin
{
virtual PStatus Supports( const ioctl::Usb& Device ) = 0;
virtual PStatus FindInterface( const ioctl::Usb& Device, icu::UnicodeString& InterfaceName ) = 0;
};
Как с ней можно работать из Python? Куда копать? Поиском что-то ничего не находится, уже склоняюсь к мысли, что это невозможно вообще.
Спасибо!
Офлайн
karkadil
можно ли из Python работать с си-структурами, которые содержат методы?
karkadil
Есть у меня в си такая структура
Отредактировано py.user.next (Авг. 9, 2013 21:04:42)
Офлайн
Да, тут я слажал, не знаком с этой разницей. Тем не менее, вопрос остается открытым: можно ли работать с такой структурой?
Офлайн
karkadilС этой? Точно так же как и из сей.
Как с ней можно работать из Python? Куда копать? Поиском что-то ничего не находится, уже склоняюсь к мысли, что это невозможно вообще.
Офлайн
Офлайн
Ссылка на документацию - это очень хорошо, я ознакомился с ней прежде чем задавать вопрос
Там рассматриваются только обычные переменные (в том числе поля структуры типа c_int, c_char и т.п.). У меня же в качестве поля структуры ФУНКЦИЯ (метод), а не обычная переменная.
Как мне вообще описать в python структуру, указав, что в качестве одного из полей выступает фнукция, а не просто переменная?
Как потом вызвать этот метод?
Может кто-то привести элементарный пример?
Офлайн
Там пустая структура без функций и чего-либо вообще.
Офлайн
Shaman
Там пустая структура без функций и чего-либо вообще.
Офлайн
karkadilВ вашем примере у вас структура с двумя _указателями_, работать с ними также как и с любыми другими
Где “там”? В моем примере приведенном структура с двумя методами Supports и FindInterface.
Офлайн
Указатель в примере если и присутствует, то всего один.
Офлайн