
简单的办法是通过文件,两个程序各做各的,通过文件来通讯。这个相当推荐。特别是新手,绝对好用。
或者是通过管道(在某些 *** 作系统下不稳定)。
复杂一些的,分布式通用对象接口。这个基本上被大家放弃了。然后是XML+webservice,这个方案因为复杂度高,慢慢也不用了。目前流行的方式是restful + json。 protocolbuf还有thrift方法,这里也不详述,有一整套的方法。
还有更直接的方法,共享内存与嵌入。或者是python嵌入C++或者是反过来。在python里调 用C++。有专门的接口,参考python的帮助。
有一个直接又轻松的办法,使用cython,直接写C++模块,然后用python调用。传递参数也有很多种方法。这里不一一描述。
另外在c++里嵌入python还有一些偏门的方法。比如有人封装过VCL组件,直接通过组件就可以调 用。
如果要在testpy中调用脚本funcpy脚本
首先,两个脚本文件要放在pythonpath下,其次在testpy脚本的开头写上import func,这样就可以直接调用func中的函数方法了。
1 安装IronPython
到>
安装下载下来的安装包(要先装VS啊)。
2 创建项目
创建一个C#的控制台应用程序。
添加引用: 浏览到IronPython的安装目录中,添加对IronPythondll,MicrosoftScriptingdll 两个dll的引用。
3 添加Python文件到当前的项目中
创建一个文本文件命名为:hellopy, 编辑如下
def welcome(name):
return "hello" + name
把该文件添加的当前的项目中。
4 在C#中调用Python方法
首先添加两个引用:它们定义了Python和ScriptRuntime两个类型。
第一句代码创建了一个Python的运行环境,第二句则使用net40的语法创建了一个动态的对象, OK,下面就可以用这个dynamic类型的对象去调用刚才在定义的welcome方法了。
注意:在运行前一定要把hellopy文件设为:Copy always
否则运行时会报找不到hellopy文件,enjoy it!
以上就是关于如何实现 C/C++ 与 Python 的通信全部的内容,包括:如何实现 C/C++ 与 Python 的通信、C调用Python一个运行时间长的函数,如何实时、C# 如何调用Python文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)