【发布时间】:2014-04-21 03:40:35
【问题描述】:
现在我手头有一个 C++(带类)二进制库(dll 文件)和一个头文件,没有库的源代码,那么如何从 python 访问 dll 中的函数?
【问题讨论】:
现在我手头有一个 C++(带类)二进制库(dll 文件)和一个头文件,没有库的源代码,那么如何从 python 访问 dll 中的函数?
【问题讨论】:
Boost Python 库是一个用于连接 Python 和 C++。它允许您快速、无缝地公开 C++ 类 Python的函数和对象,反之亦然,不使用特殊的 工具——只是你的 C++ 编译器。它旨在包装 C++ 接口 非侵入式,因此您不必更改 C++ 代码 一切都是为了包装它,使 Boost.Python 成为公开的理想选择 Python 的第 3 方库。图书馆使用先进 元编程技术为用户简化了语法,因此 包装代码呈现出一种声明式接口的外观 定义语言(IDL)。 Read more
SWIG 是一种软件开发工具,用于连接以 C 和 C++ 具有多种高级编程语言。 SWIG 是 与不同类型的目标语言一起使用,包括常见的 Perl、PHP、Python、Tcl 和 Ruby 等脚本语言。 Read more.
编辑:回应 jsbeuno 的评论:AFAIK ctypes 不能与 C++ 原生交互,只能与 C 交互。
【讨论】: