Я пишу некоторый код на Python для взаимодействия с C DLL, который широко использует структуры.
Одна из этих структур содержит вложенные структуры.Я знаю, что это не проблема для модуля ctypes.Проблема в том, что есть часто используемая структура, которая в Си определяется с помощью макроса, потому что она содержит «статический» массив длины, который может меняться.Это сбивает с толку, так что вот некоторый код
struct VarHdr {
int size;
}
#define VAR(size) \
struct Var {
VarHdr hdr;
unsigned char Array[(size)];
}
Затем он используется в других структурах, подобных этой
struct MySruct {
int foo;
VAR(20) stuffArray;
}
Тогда возникает вопрос, как я могу эмулировать это в Python таким образом,Полученная структура может передаваться взад-вперед между моим скриптом pythong и DLL.
Кстати, я знаю, что могу просто жестко закодировать число там, но есть несколько экземпляров этого "VAR" повсюду, которые имеют разные размеры.