Я пишу Python Wrapper вокруг C API. У меня есть подробное описание API, и сейчас я борюсь с реализацией перечислений, определенных в заголовочном файле.
Давайте предположим, что у меня есть функция C API внутри myAPI.dll
, которая принимает перечисление в качестве аргумента, например:
void SomeFunction(SomeEnum data)
Из заголовочного файла я вижу, что SomeEnum
выглядит так:
enum SomeEnum{
SomeValue = 1,
SomeOtherValue = 2,
SomeVeryStupidValue = -1
};
В Python я загружаю .dll
как:
myAPI = ctypes.cdll.LoadLibrary('myAPI.dll')
теперь я хотел бы иметь возможность звонить:
myAPI.SomeFunction(SomeValue)
Я знаю, что я мог бы определить SomeValue
в python, но было бы удобно загрузить его определение прямо из заголовочного файла. или имейте это непосредственно как атрибут myAPI
. Это возможно?