想写个 python 扩展模块,把DB2示例带的各种函数封装起来,使用 swig 编写包装函数,看了一天E文文档,眼黑。
开始时使用 C,数据库有 connect, cursor 对象,从模块方法 connect 返回连接对象,没找到怎么样不手工改写 py 文件能使用一个 py class 返回另一个 py class,在执行模块函数时怎样从包装函数的 self 返回到实体函数,另外每个函数还需要一个 connect *,使用 typemap (in) ( connect *) 处理完包装函数参数传递,在自动生成的 py 文件还需要修改才会有默认参数。 复杂
使用 %extent 扩展 Connect Object 也需要在 i 文件填写大量内容;如果写成 C++的类,连接对象中的handle 作为变量,各个函数直接可以访问,不再需要外部变量或从参数引入。。。就这么定了
tips:
- %feature("autodoc", "1"); //自动生成类函数、外部函数定义型注释
-
-
%feature("docstring") Cursor::Cursor "from connect object create Cursor object" //对指定函数增加注释
..
阅读(2027) | 评论(0) | 转发(0) |