Python以其简单的语法及众多第三方库的支持,使得运用非常广泛. 但是如何利用Python进行混合调用,调用已完成的*.dll库功能,刚好最近偶尔看到swig这个小工具,能够生成包装后接口文件,使得脚本语言间接调用c/c++库. 一般像java/c#等语言只能调用纯C类库,Swig竟然可以处理C++库,可能内部作了处理,稍候研究
一. 下载 Swig 直接解压即可 二. C代码 C代码
三. 编写接口描述文件,生成python模块 接口说明文件: example.i Swig代码
Bat代码
此时会在工程下生成 example.py 和 example_wrap.c 两个文件
四. VC6下编译扩展 1. 建立空的win32动态库工程 2. 将example.h example.c example_wrap.c三个文件添加至工程中 3. 设置Include path: d:\Python27\include, 设置Lib path: d:\Python27\libs 4. 设置输出文件名: _example.pyd ,千万不能忘了下划线,example.py中会默认调用_example这个模块 5. 成功编译release版本后会在目录中生成文件 _example.pyd
五.测试运行
注: _example.pyd和example.py必须在同一目录,否则会找不到模块
|
|
来自: goodwangLib > 《Python》