<p><strong>C++代码如下:src.cpp</strong>
</p>
<p>#include <iostream><br>
#include <string><br>
#include <map><br>
#include <vector><br><br>
using namespace std;<br><br>
typedef map<string,int> simap;<br>
typedef vector<simap> mvector;<br><br>
simap A()<br>
{<br>
simap m;<br>
m["aaa"] = 1;<br>
m["bbb"] = 2;<br>
m["ccc"] = 3;<br>
m["ddd"] = 4;<br>
m["eee"] = 5;<br>
m["fff"] = 6;<br><br>
return m;<br>
}<br><br>
mvector B(simap s)<br>
{<br>
mvector m;<br>
m.push_back(s); <br>
return m;<br>
}<br><br>
int C(mvector m)<br>
{<br>
int q = m[0]["aaa"];<br>
return q;<br>
}<br><strong>转换代码如下:</strong>
</p>
<p>#src4py.cpp<strong></strong>
</p>
<p><strong><br></strong>
</p>
<p>#include <boost/python.hpp> <br>
#include <boost/python/suite/indexing/map_indexing_suite.hpp><br>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp><br>
#include "src.cpp"<br>
using namespace boost::python;<br>
BOOST_PYTHON_MODULE(test)<br>
{<br><br>
class_<simap>("pySImap")<br>
.def( map_indexing_suite<simap>() )<br>
;<br><br>
class_<mvector>("mvector")<br>
.def( vector_indexing_suite< mvector > () )<br>
;<br>
def("a",A);<br>
def("b",B);<br>
def("c",C);<br>
}</p>
<p></p>
<p><strong><br></strong>
</p>
<p><strong>调用代码如下:</strong>
</p>
<p><strong>#test.py<br></strong>
</p>
<p>import test<br>
mapcontainer = test.pySImap()<br>
mapcontainer = test.a()<br>
d = test.b(mapcontainer)<br>
q = test.c(d)<br>
print d[0]['aaa']<br>
print q<br><strong><br></strong>
</p>
分享到:
相关推荐
该c++ web server基于boost.asio库编写,同时支持http和https协议。该工程基于vs2015编译通过,相关配置和说明见readme.txt
借助Boost.Python库可以将C/C++代码方便、快捷地移植到python模块当中,实现对python模块的扩充。首先,将C++下的代码编译为动态库,并将生成的动态库命名为封装模块的名字,如:用BOOST_PYTHON_MODULE(Module_Name)...
使用ONNXRuntime部署YOLOV7人脸检测关键点检测,含C++和Python两个版本.zip 代码完整下载可用,确保可以运行。 使用ONNXRuntime部署YOLOV7人脸检测关键点检测,含C++和Python两个版本.zip 代码完整下载可用,确保...
为了方便大家使用MinGW(GCC)+_boost.python,特意只做了三个dll,可以很方便地将c++代码转为python模块. libboost_python-mgw45-1_49.dll libboost_python-mgw45-d-1_49.dll python27.dll 这三个文件我已放在资源...
Boost.Asio C++ 网络编程 PDF 高清 非扫描 中文版
使用C++扩展Python功能的方法.pdf
Boost.Asio provides an excellent abstraction over it, making sure that with a minimal amount of coding, you can create beautiful client-server applications and have tons of fun doing it. And it ...
基于OpenCV部署SCRFD人脸检测完整源码+全部数据(含C++和Python两版本).zip该项目是个人大作业项目源码,评审分达到95分以上,都经过严格调试,确保可以运行!放心下载使用。 基于OpenCV部署SCRFD人脸检测完整...
本人安装的是Python3,安装目录为C:\Python37; 1.下载boost库在windows下通过b2.exe自己尝试编译库文件,编译方法可参考本文。 boost库下载链接:下载链接 boost库编译方法:boost库编译方法 2.打开VS2019,新建类型...
介绍:一个用python实现的...你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。 quantdsl 介绍: quantdsl包是Quant DSL语法在Python中的一个实现。Quant DSL 是财务定量分析领域专用语言
基于OpenCV部署SCRFD人脸检测完整源码(含C++和Python两版本).zip使用OpenCV部署SCRFD人脸检测,包含C++和Python两种版本的程序实现,本套程序只依赖opencv库就可以运行, 从而彻底摆脱对任何深度学习框架的依赖。...
解决fatal error LNK1104: cannot open file 'python38_d.lib'问题 由源码得到,版本python3.8,下载后放入到python目录下的libs文件夹即可
利用Boost.Python实现Python C/C++混合编程 关于python与C++混合编程,事实上有两个部分 extending 所谓python 程序中调用c/c++代码, 其实是先处理c++代码, 预先生成的动态链接库, 如example.so, 而在python代码中...
python27.lib,python27.dll,python27_d.lib,python27_d.dll win32和x64都有,用python2.7.14源码编译,2.7.13亲测可用
解决fatal error LNK1104: cannot open file 'python37_d.lib'问题 由源码编译过来的文献,版本python3.7,下载后放入到python目录下的Lib文件夹即可
使用C++扩展Python功能的方法
python与C++混合编程可用.pdf
VS c++ 调用Python3.7.x版本的程序,缺少python37_d.lib链接库,这里为你提供,亲测可以使用。
Yolo+决策(C++)项目源代码.zip基于ROS的足球机器人视觉Python_Yolo+决策(C++)项目源代码.zip基于ROS的足球机器人视觉Python_Yolo+决策(C++)项目源代码.zip基于ROS的足球机器人视觉Python_Yolo+决策(C++)项目...