рекурсивные структуры python ctype

Я разработал DLL для драйвера в C. Я написал тестовую программу на C ++, и DLL работает нормально.

Сейчас я'Я хотел бы взаимодействовать с этой DLL с помощью Python. Я'мы успешно скрыли большинство пользовательских структур C, но есть один момент, когда я должен использовать структуры C. Я'Я довольно плохо знаком с Python, поэтому я могу ошибаться.

Мой подход заключается в том, чтобы переопределить несколько структур в python с использованием ctype, а затем передать переменную в мою DLL. Однако в этом классе у меня есть собственный связанный список, который содержит рекурсивные типы, как следует

class EthercatDatagram(Structure):
    _fields_ = [("header", EthercatDatagramHeader),
                ("packet_data_length", c_int),
                ("packet_data", c_char_p),
                ("work_count", c_ushort),
                ("next_command", EthercatDatagram)]

Это терпит неудачу, потому что внутри EthercatDatagram, EthercatDatagram еще не определен, поэтому анализатор возвращает ошибку.

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

Ответы на вопрос(3)

Ваш ответ на вопрос