介绍
本文是SIP4.18的参考指南。SIP是一种Python工具,用于自动生成Python与C、C++库的绑定。SIP最初是在1998年用PyQt开发的,用于Python与Qt GUI toolkit的绑定,但适用于生成任何C或C++库的绑定。
此版本SIP生成的绑定可用于Python 2.3以后的版本,包括Python 3.x。
还有许多其他类似的工具,例如SWIG。事实上,SIP如此名字是因为它源于一个小型的SWIG。但不像SWIG,SIP是特别设计于将Python与C/C++进行绑定的,它尽可能地集成更多C/C++的功能。
许可
SIP许可类似于Python,也采用GPL协议(包括v2和v3)。如果你使用SIP,意味着你必须遵循GPL协议。
特征
SIP和它所生成的绑定拥有如下特征:
加载迅速,内存占用低。
自动转换标准的Python与C/C++数据类型。
不同参数签名的函数和方法的重载
访问C++类的protected方法
能够定义一个继承于C++类型的Python子类,包括C++抽象类
Python子类可以实现__dtor__()方法来支持C++类的虚析构函数的调用。
支持普通C++函数、类方法、静态类方法、虚类方法和抽象类方法。
可以在Python中重新实现C++虚/抽象方法
支持全局和Class变量
支持全局和Class操作
支持C++命名空间
支持C++模板</