我有一个C ++函数,它接受std::vector<std::vector<double> > X
并在X
上执行一些操作并输出std::vector<std::vector<double> > X_mod
。
我希望能够快速建立一个接口,以便可以将Python numpy数组传递到此C ++函数中,然后让C ++函数将X_mod
返回到Python中。
我已经简要介绍了Boost,对于这个简单的目的来说似乎太复杂了吗?
关于如何为此编写快速界面的其他建议?
答案 0 :(得分:1)
如注释中所建议,Pybind11可用于为python Pybind Documentation,Pybind Github Repo, Example how to use it。
每个人都对Boost提出Pybind的原因可以在他们的自述文件中找到:
Boost.Python的主要问题以及创建类似项目的原因是Boost。 Boost是庞大而复杂的实用程序套件,可与几乎所有现有的C ++编译器一起使用。这种兼容性有其代价:奥秘的模板技巧和变通办法对于支持最早的和最新的编译器标本是必需的。现在,与C ++ 11兼容的编译器已广泛可用,这种繁琐的机制已变得过分庞大和不必要。