一、问题:现在有一个C++类库Mythma.dll,需要Python用户也可以调用这些服务,所以需要用封装其为Python扩展模块Mythma.pyd。现在有可执行程序PythonConsole.exe,依赖Mythma.dll模块,希望PythonConsole.exe可以调用Python脚本,所以PythonConsole.exe中需要嵌入Python解析器。此时,PythonConsole.exe既可以直接访问Mythma.dll,又可以通过Python脚本访问Mythma.dll。关系图如下:
2、用Boost.Python将C++模块封装,使得Python脚本可以调用C++的功能
如:
此时,可以用Python脚本访问Mythma.dll中的类,axxscript.py文件中的内容为:
3、在C++程序里内嵌Python解析器,使得C++可以调用Python脚本
建立一个控制台程序PythonConsole.exe,用来嵌入Python解析器
执行调用Python脚本的过程如下:
三、症状
Powered by: C++博客 Copyright © 力为