我正在围绕 C API 编写一个 python 包装器。我有一个广泛的 API 描述,现在我正在努力实现头文件中定义的枚举。
假设我内部有一个 C API 函数myAPI.dll,它接受一个枚举作为参数,例如:
void SomeFunction(SomeEnum data)
Run Code Online (Sandbox Code Playgroud)
从头文件中,我可以看到SomeEnum如下所示:
enum SomeEnum{
SomeValue = 1,
SomeOtherValue = 2,
SomeVeryStupidValue = -1
};
Run Code Online (Sandbox Code Playgroud)
在 python 中,我加载.dll类似:
myAPI = ctypes.cdll.LoadLibrary('myAPI.dll')
Run Code Online (Sandbox Code Playgroud)
现在我希望能够调用:
myAPI.SomeFunction(SomeValue)
Run Code Online (Sandbox Code Playgroud)
我知道,我可以SomeValue在 python 中定义,但是直接从头文件加载它的定义或者直接将它作为myAPI. 这可能吗?