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