Как мы можем передать структуру C в Python? - PullRequest
3 голосов
/ 20 апреля 2011

Я новичок в Си и Питоне. Сейчас я учусь встраивать Python в C. Поскольку я вызываю функции Python из C, я хотел бы знать, как мы можем передать структуру C в Python?

Большое спасибо заранее!

Ответы [ 3 ]

2 голосов
/ 20 апреля 2011

Самое чистое, что можно сделать, это, вероятно, создать новый тип и реализовать tp_getattr, либо возвращая соответствующий член структуры, либо вызывая исключение в зависимости от переданного аргумента.

2 голосов
/ 20 апреля 2011

Эта документация по расширению и / или внедрению Python может помочь вам начать работу.

Существует также библиотека ctypes для динамической загрузки собственных DLL и передачи C-подобных структур в них и из них (полностью из Python).

0 голосов
/ 04 мая 2011

Это, вероятно, не то, что вы ищете, но мы используем LCM для совместного использования структур c между программами c / c ++, python, java и matlab через udp и multicast.Это очень удобно для робототехники.

...