当前位置: 首页 > news >正文

C++ 内嵌 python 解释器

AI 提供

#include <Python.h>
#include <map>
#include <string>int main() {// 初始化 Python 解释器Py_Initialize();// 创建一个 C++ std::mapstd::map<std::string, int> myMap = {{"apple", 3},{"banana", 5},{"orange", 2}};// 创建 Python 字典对象PyObject* pDict = PyDict_New();// 将 std::map 转换为 Python 字典for (const auto& item : myMap) {PyObject* key = PyUnicode_FromString(item.first.c_str());PyObject* value = PyLong_FromLong(item.second);PyDict_SetItem(pDict, key, value);Py_DECREF(key);Py_DECREF(value);}// 设置 Python 全局变量PyObject* pModule = PyImport_AddModule("__main__");PyObject* pGlobals = PyModule_GetDict(pModule);PyDict_SetItemString(pGlobals, "cpp_map", pDict);// 运行 Python 脚本FILE* fp = fopen("script.py", "r");if (fp) {PyRun_SimpleFile(fp, "script.py");fclose(fp);}// 释放 Python 对象Py_DECREF(pDict);// 关闭 Python 解释器Py_Finalize();return 0;
}

在此基础上,可以使用 python 各种的功能模块,并把接收到的一些数据,通过这种方式,使用 python 的画图工具进行画图, 简化程序组件的开发难度

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【机器学习】AGI的基本概念、技术挑战和应用前景
  • ELK进阶-安全认证设置流程介绍
  • Kubernetes中如何对etcd进行备份和还原
  • springboot的启动流程原理
  • 各种JOIN的区别
  • C++操作excel,即使函数设置了不备份,但保存后,excel依然会自动生成备份文件的原因分析,及如何来禁止自动备份
  • Ps:首选项 - 文件处理
  • stm32智能颜色送餐小车(ESP8266WIFI模块、APP制作、物联网模型建立、MQTTFX)
  • go设计模式——单例模式
  • Mybatis插件:慢sql存储到数据库
  • 简单步骤获取IP地址SSL 证书
  • C/C++控制台贪吃蛇游戏的实现
  • go中 panicrecoverdefer机制
  • python构建一个web程序
  • 浪潮服务器NVME 硬盘通过 Intel VROC 做RAID
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【面试系列】之二:关于js原型
  • iOS编译提示和导航提示
  • JavaScript学习总结——原型
  • MQ框架的比较
  • PV统计优化设计
  • ReactNativeweexDeviceOne对比
  • TCP拥塞控制
  • tweak 支持第三方库
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 从重复到重用
  • 二维平面内的碰撞检测【一】
  • 分享一份非常强势的Android面试题
  • 经典排序算法及其 Java 实现
  • 码农张的Bug人生 - 见面之礼
  • 小试R空间处理新库sf
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #pragam once 和 #ifndef 预编译头
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (Git) gitignore基础使用
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (第30天)二叉树阶段总结
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (已解决)什么是vue导航守卫
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)ABI是什么
  • ***通过什么方式***网吧
  • ***原理与防范
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net Core和.Net Standard直观理解
  • .Net程序帮助文档制作
  • .net和jar包windows服务部署
  • .net流程开发平台的一些难点(1)
  • /*在DataTable中更新、删除数据*/