C++ 与 Python 混编
因为赶项目进度,需要使用到深度学习的内容,不过现有的深度学习框架大多使用python代码,对于不会改写C++的朋友来说,需要耗费大量的时间去改写,因此,使用python与C++混编可以快速的查看效果,并作出选择。
在c++中使用混编python需要用到基础头文件Python.h,最好需要使用boost中的python,boost将底层python重新封装,更好的使用c++调用python。
头文件需要包括
#include
#include
using namespace boost::python;
c++调用python需要先初始python的相关东西。根据python的版本分开
#if (PY_VERSION_HEX >= 0x03000000)
static void *init_ar() {
#else
static void init_ar(){
#endif
Py_Initialize();
import_array();
return NUMPY_IMPORT_ARRAY_RETVAL;
}
在项目的开始需要调用inti_ar()。代码片段图下:
init_ar();
char str[] = "Python";
Py_SetProgramName(str);
然后判断python是否已经初始化
if(!Py_IsInitialized())<