Как мы можем передать структуру C в Python?
Я новичок как в C, так и в Python. В эти дни я учусь встраивать Python в C. Поскольку я вызываю функции Python из C, я хотел бы знать, как мы можем передать структуру C в Python?
Заранее большое спасибо!
3 ответа:
Самое чистое, что можно сделать, это, вероятно, создать новый тип и реализовать
tp_getattr
, либо возвращая соответствующий член структуры, либо вызывая исключение в зависимости от переданного аргумента.
Эта документация по расширению и/или встраиванию Python может помочь вам начать работу.
Существует также
ctypes
библиотека для динамической загрузки собственных библиотек DLL и передачи C-подобных структур в них и из них (полностью из Python).
Это, вероятно, не то, что вы ищете, но мы используем LCM для совместного использования структур c между программами c/c++, python, java и matlab через udp с многоадресной рассылкой. Это очень удобно для робототехники.