mwbr.net
当前位置:首页 >> 如何实现 C/C++ 与 Python 的通信 >>

如何实现 C/C++ 与 Python 的通信

########## 以下所有文字均为答主手敲,转载请注明出处和作者 ########## ## 更新:关于ctypes,见拙作 聊聊Python ctypes 模块 - 蛇之魅惑 - 知乎专栏 属于混合编程的问题。较全面的介绍一下,不仅限于题主提出的问题。 以下讨论中,Python指它...

用C/C++对脚本语言的功能扩展是非常常见的事情,Python也不例外。除了SWIG,市面上还有若干用于Python扩展的工具包,比较知名的还有Boost.Python、SIP等,此外,Cython由于可以直接集成C/C++代码,并方便的生成Python模块,故也可以完成扩展Pyth...

停车坐爱枫林晚,霜叶红于二月花.

你的通信是指什么通信?如果是网络通信,那方法就多了,最简单粗暴的:直接socket通信。如果是指C/C++程序调用本地Python脚本,那也是很方便的,网络上有很多资料,百度一下都有。如何实现 C/C++ 与 Python 的通信

都写入到文件里

简单的办法是通过文件,两个程序各做各的,通过文件来通讯。这个相当推荐。特别是新手,绝对好用。 或者是通过管道(在某些操作系统下不稳定)。 复杂一些的,分布式通用对象接口。这个基本上被大家放弃了。然后是XML+webservice

这个可以称之为 两个软件(进程)之间的通信。 进程间通信主要包括管道, 系统IPC(包括消息队列,信号量,共享存储), SOCKET. 比如: 你可以共同访问计算机上的一个 txt文件 也可以使用 socket 通信 也可以使用数据库, 等等 都能达到通信的目的

只要双方都遵守通信协议就是了,与双方采用什么语言写通信程序毫无关系,所以什么语言与什么语言实现通信的问题根本就是伪命题!

如果是C++和python混编。 python有提供一组C api可以自己封装也可以直接用boost库里的python库, 用法可以参考boost程序库完全开发指南 python调c,把c编译成lib文件,即可调用 import ctypes lib =ctypes.cdll.LoadLibrary(r'abc.dll') lib.f()...

把C写成库的形式,用Python调用接口,也可以反过来。 用ctypes库。

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com