pybind11:为“模块构造函数”添加回调函数

问题描述

pybind11 documentation包含有关“模块析构函数”的部分。您如何使用pybind11实现“模块构造函数”?

假设我要在将模块导入Python中时执行C ++函数。通常,如果这是python模块,则只需将带有函数调用的命令添加module.py的顶级范围中。这是您可以在python模块中执行的最基本的操作-执行命令。但是pybind11的first steps首先添加函数定义。如何在pybind11模块中添加命令

解决方法

这就是用the PYBIND11_MODULE macro定义的函数的内容。这是一项常规功能,您可以在那里进行所需的任何设置;当然,您通常会看到m(例如m.def)上的调用,但是您可以在其中进行任何设置来设置模块。