Dll扩展部分(文件名与模块名一致,将生成的DLL扩展名改为.pyd):
#include "stdafx.h" #include <boost/python.hpp> #define EXPORT_SYMBOL_TO_PYTHON(x) boost::python::def(#x, x) void MsgBox(PyObject* pObj) { MessageBoxA(NULL, ((PyStringObject*)pObj)->ob_sval, "message", MB_OK ); } BOOST_PYTHON_MODULE(DllForPython) { EXPORT_SYMBOL_TO_PYTHON(MsgBox); }
Python脚本调用部分(将DLL扩展目录加入到sys.path):
# -*- coding: gbk -*- import sys sys.path.append('./Debug') import DllForPython DllForPython.MsgBox("Everything is OK")