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