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

C#和Python共享内存技术

 我这里做一个简单的示例

1.C#写入内存的方法,FileName是内存共享的名字 t是内存size

        public static void SaveGluePLYToMemory(string FileName, string msg){try{ long t = 100;// SetMemorySize(msg);// 100;//# 创建内存块,test1,其他语言利用这个内存块名字就能找到内存块。var mmf = MemoryMappedFile.CreateOrOpen(FileName, t, MemoryMappedFileAccess.ReadWrite);var viewAccessor = mmf.CreateViewAccessor(0, t);string s = msg;viewAccessor.WriteArray<byte>(0, System.Text.Encoding.Default.GetBytes(s), 0, s.Length); // MessageBox.Show("write ok");//GC.Collect();}catch (System.Exception s){MessageBox.Show(s.Message);}}

2.Python读取内存 filename分别为TireGlueing和FoamStick


import copy
import os
import sys
import open3d as o3d;
import numpy as np
import pip;
import mmapfrom multiprocessing import shared_memoryif __name__ == "__main__": print("version")print(sys.path)print(o3d.__version__)print(sys.version)print(sys.executable)print(pip.__version__)print(pip.__file__)print(sys.getwindowsversion())try:MemorySize = 100file_name1 = 'TireGlueing'#print(SHMEMSIZE)# python读取共享内存shmem1 = mmap.mmap(0, MemorySize, file_name1, mmap.ACCESS_READ)print(f"TireGlue = {shmem1.read(MemorySize).decode('ASCII')}")#MemorySize = int(shmem.read(MemorySize).decode('ASCII'))shmem1.close() file_name = 'FoamStick'print(MemorySize)# python读取共享内存shmem = mmap.mmap(0, MemorySize, file_name, mmap.ACCESS_READ)#print(shmem.read(MemorySize).decode('ASCII'))print(f"FoamStick = {shmem.read(MemorySize).decode('ASCII')}")shmem.close() except Exception as e:print(e)print('ok')print("version end")

http://www.lryc.cn/news/448387.html

相关文章:

  • Java每日面试题(JVM)(day15)
  • 在 CentOS 8 上安装和部署 OpenSearch 2.17 的实战指南20240924
  • 青动CRM-E售后V2.0.4
  • 免杀对抗—C++混淆算法shellcode上线回调编译执行
  • 考研数据结构——C语言实现插入排序
  • 苍穹外卖学习笔记(十三)
  • ​如果没有pos信息,只有一些近景的照片,可以用​编辑重建大师进行建模吗?​
  • 智能感知,主动防御:移动云态势感知为政企安全护航
  • 论文笔记(四十六)RobotGPT: Robot Manipulation Learning From ChatGPT
  • docker - 镜像操作(拉取、查看、删除)
  • 如何选择数据库架构
  • Mysql高级篇(中)——锁机制
  • JavaWeb图书借阅系统
  • 文档矫正算法:DocTr++
  • Vxe UI vue vxe-table vxe-grid 单元格与表尾单元格如何格式化数据
  • 【百日算法计划】:每日一题,见证成长(021)
  • 数据恢复篇:如何恢复几年前删除的照片
  • 前端注释规范
  • uniapp踩坑 tabbar页面数据刷新了但视图没有更新
  • WebAssembly与WebGPU:游戏开发的新时代
  • SAP B1 认证考试习题 - 解析版(二)
  • 《Ubuntu20.04环境下的ROS进阶学习7》
  • 免费视频无损压缩工具+预览视频生成工具
  • OIDC9-OIDC集成登录功能(SpringBoot3.0)
  • 使用Vue.extend( ) 模仿 elementui 创建一个类似 message 消息提示框
  • ansible部署二进制mysql 8
  • 【2023工业3D异常检测文献】基于混合融合的多模态工业异常检测方法Multi-3D-Memory (M3DM)
  • 基于微信小程序的宿舍报修系统的设计与实现(lw+演示+源码+运行)
  • 前端练习总结(1)
  • 计算机网络自顶向下(1)---网络基础