将一段C++代码封装到Python中
Wrapping a piece of C++ code into Python
我有一段生成数据的C++代码。我想将数据公开给Python。但这并不像听起来那么微不足道。。。
假设这个C++编译成二进制文件cppcode
。由于框架设置的方式很复杂,我只能将代码作为运行
./cppcode {command line arguments}
在cppcode中,它生成了我想从Python访问的数据。我知道我是否能以某种方式将程序重写为
CppClass cpp;
cpp.run( args );
然后,我可以用BoostPython封装CppClass,构建一个实例,使用参数运行,并访问generates中的数据。
但现在我只能以./cppcode {command line arguments}
的身份运行代码
我不能仅仅从Python调用./cppcode
,因为在之后/cppcode完成,它的内存将被系统回收,我再也无法从Python中看到它了。有办法绕过这个吗?
我可以想到:(1)让/cppcode将数据转储到磁盘中并让python读取。(2)将数据转储至stdout并通过管道传输到python脚本中。但无论哪种方式,我都必须在Python中进行一些字符串解析,这可能会很慢。有办法绕过它吗?
您可以将ccpcode中的JSON格式数据转储到磁盘上,然后只需使用python中的simplejson进行解析。这样您就不必编写任何自己的解析器了。
以下是C++JSON模块的一些示例:https://stackoverflow.com/questions/245973/whats-the-best-c-json-parser
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 孤立代码块在结构中引发异常
- 隐藏的单例,用于封装初始化和销毁代码
- 我们什么时候应该封装代码才能成为"Class"?
- 用Objective-c++封装c++代码
- OpenCL 的部分封装导致分段错误,包括代码示例
- 将python函数传递给SWIG封装的C++代码
- 将一段C++代码封装到Python中
- 如何在C++代码中封装C2D数组(Foo**)
- c++代码在python中封装时不存在
- 类封装:如何准备添加新类的代码