我有一个设计不佳且很大的 ( > 300 public functions,在头文件中>200 numeric constants定义#define),我必须用 Python 包装。我有dll和h文件。该库每年更新一次,直到现在以向后兼容的方式(即只添加了函数,常量保持它们的数值等)。但我不能保证,因为我不控制图书馆。
使用ctypes,我看到了两种在 Python 中包装它的方法:
- 将每个常量和函数映射到 python,1 到 1
- 在 Python 中重新定义 API 并调用库。
第一个可以从头文件以(大致)自动方式完成,因此更易于维护和升级,第二个需要大量 python 代码,但更易于使用。
根据您对此类问题的经验和一些示例,我将不胜感激。