C++ 的 Python 绑定 pybind11

码农软件 · 软件分类 · 常用工具包 · 2019-08-14 18:42:47

软件介绍

pybind11 可实现 C++11 和 Python 之间的无缝操作。

pybind11 是一个轻量级的只包含一组头文件的 C++ 库,可以在 Python 中使用 C++ 类型。主要用于创建已有 C++ 代码的 Python 封装版本。其目的和语法类似于 Boost.Python 库。为什么要创建这个项目的原因就是因为 Boost 。作者认为 Boost 很大很复杂。而目前的 C++11 兼容的编译器使用已经非常广泛,所以希望开发一个更轻量级更具备兼容性的项目。

除去注释之外,该项目的核心头文件只有 2500 行左右代码,依赖于 Python (2.7 或者 3.x) 和标准 C++ 库。这么精简的实现有赖于新的 C++11 语言特性。特别是元组、Lambda 函数以及可变模板。自从项目创建以来,其增长已经超过了 Boost.Python。

核心特性

  • Functions accepting and returning custom data structures per value, reference, or pointer

  • Instance methods and static methods

  • Overloaded functions

  • Instance attributes and static attributes

  • Exceptions

  • Enumerations

  • Callbacks

  • Custom operators

  • STL data structures

  • Iterators and ranges

  • Smart pointers with reference counting like std::shared_ptr

  • Internal references with correct reference counting

  • C++ classes with virtual (and pure virtual) methods can be extended in Python

支持的编译器:

  1. Clang/LLVM (any non-ancient version with C++11 support)

  2. GCC (any non-ancient version with C++11 support)

  3. Microsoft Visual Studio 2015 or newer

  4. Intel C++ compiler v15 or newer

本文地址:https://www.codercto.com/soft/d/12367.html

零基础学Minecraft编程

零基础学Minecraft编程

Martin O''Hanlon、David Whale / 中文Minecraft Wiki翻译团队 / 人民邮电出版社 / 2015-9-7 / 79

在你体验Minecraft冒险的同时,学习宝贵的编程技能! 如果你很喜欢玩Minecraft,却被游戏中的建造耗费大量时间而困扰,并且你想要对游戏添加一些改动,那么本书就是为你而设计的。在游戏中,你可以学习许多Python编程技能,在PC、Mac或树莓派上与游戏进行互动。这些冒险不仅局限在虚拟世界——你也将会学习如何将Minecraft与电子元件连接起来,这样你的Minecraft世界就能够......一起来看看 《零基础学Minecraft编程》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具