boost::python是如何工作的?对实现细节有什么想法吗?

How does boost::python work?Any ideas about the realisation details?

本文关键字:细节 实现 什么 python 何工作 boost 工作      更新时间:2023-10-16

我是boost的新手,其中一个我无法理解的库是boost . python。谁能详细解释一下这种互操作性是如何实现的?在文档中只有几句关于元编程的话。注:我试着看代码,但由于我缺乏c++知识,我不理解原理。提前感谢

有两种互操作方式:

1)从"Python进程"中调用用c++编写的函数。

Python已经有一个加载dll的系统,它们被称为"扩展模块"。提振。Python可以编译源代码来生成一个。基本上,您编写一个小包装器来声明一个可从Python调用的函数,"元编程"在那里做诸如检测c++函数接受和返回的类型之类的事情,以便它可以发出正确的代码将这些类型从/转换为等效的Python类型。

2)从一个" c++进程",启动并控制Python解释器。

Python提供了一个C API来做这件事,还有Boost。Python知道如何使用它