pybind11:为 "module constructor" 添加回调函数

pybind11: add callback function for "module constructor"

pybind11 documentation 有一节是关于“模块析构函数”的。您如何使用 pybind11 实现“​​模块构造函数”?

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

这就是用the PYBIND11_MODULE macro定义的函数的内容。这是一个常规功能,您可以在那里进行任何需要的设置;当然,调用 m(如 m.def)是您经常看到的,但您可以在其中做任何您喜欢的事情来设置您的模块。