C++ 11与Python之间无缝的可操作性

pybind11的Python项目详细描述


pybind11是一个轻量级的头文件库 在Python中公开C++类型,反之亦然,主要是创建Python绑定。 现有C++代码。它的目标和语法与 david abrahams的boost.python:最小化传统的样板代码 使用编译时推断类型信息的扩展模块 反省。

boost.python的主要问题——以及创建这样一个类似的 项目是推动。boost是一个庞大而复杂的实用程序套件 与几乎所有C++编译器一起工作的库。这个 兼容性有其代价:神秘的模板技巧和解决方法 必须支持最古老和最有缺陷的编译器样本。既然 C++ 11兼容编译器广泛适用,这台重型机械有 成为一个过大和不必要的依赖。

把这个库看作boost.python的一个小型自包含版本 所有与绑定生成无关的内容都被删除了。没有 注释,核心头文件只需要~4k行代码,并且依赖于 Python(2.7或3 .x,或pypy2.7&gt=5.7)和C++标准库。这个 由于一些新的C++ 11语言,紧凑的实现是可能的。 特性(特别是:元组、lambda函数和变量模板)。自从 它的创建使这个库在很多方面都超越了boost.python,领先于 在许多常见情况下显著简化绑定代码。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java基于条件如何创建StringBuffers并向其添加数据   java如何用UNC路径解决“不表示可正确访问的目录”异常?   在执行提取方法重构后,java代码的速度降低了6倍   java如何修改LDAPCertStore中用于X509证书链验证的LDAP连接属性   awt如何在Java中捕获鼠标光标?   字符串如何设置Java输出流   java NumberFormatException:用于输入字符串:“8:00”   unix/linux“tail f”的Java IO文件实现   java打印输出。带有JOptionPane的txt文件   java解组总是显示0和null   使用MySQL的windows java JavaFX自包含应用程序打包   JavaSpring:方法getBean(String…)是如何实现的根据输入字符串查找bean?   java高效地更新RecyclerView网格或以其他方式显示复杂网格   java向ArrayList添加对象(String、String、int、int)   java在一组文档上使用ForkJoinPool