Chinaunix首页 | 论坛 | 博客
  • 博客访问: 667389
  • 博文数量: 102
  • 博客积分: 2241
  • 博客等级: 大尉
  • 技术积分: 1670
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-08 10:08
文章分类

全部博文(102)

文章存档

2013年(6)

2012年(15)

2011年(81)

分类: Python/Ruby

2011-04-30 22:16:35


      想写个 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:
  1. %feature("autodoc", "1"); //自动生成类函数、外部函数定义型注释

  2. %feature("docstring") Cursor::Cursor "from connect object create Cursor object" //对指定函数增加注释

..

阅读(2030) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~