c - 如何从共享内存文件(最初是 C 结构)中提取数据到 Go 中?
问题描述
对于一个学生项目,我正在尝试在 Project Cars 2 和一个通过 UART 通信的嵌入式系统之间建立一个接口,该接口具有一个共享内存地址,您可以在其中收集汽车遥测数据。
我想在 Go 中构建它,从长远来看,为 Go 制作一个可以通信和收集遥测数据并在将来使用它的包。共享内存结构和数据是用 C 语言编写的,可以在此处找到 (此文件的来源)。当您访问内存映射文件“%pcars2%”时,此地址包含链接结构组织中的数据。
我的问题是如何从这个结构中提取数据的最佳方法?我知道我可以使用 cgo 并解释结构的数据,但是有没有办法可以使用从该地址的类似类型构建的结构直接在 Go 中像 C 中一样进行内存复制?我知道我可以将 UDP API 用于遥测数据,但我很好奇 Go 是否具有这种功能。
解决方案
推荐阅读
- php - 如何使用 REST API 为 WooCommerce 产品指定产品图像排序顺序?
- python - Pyinstaller 生成空 dist 文件夹
- javascript - 在 React Native 上调节按钮
- python - 将多个 Vega/vincent 图表添加到 Folium 弹出窗口
- django - 如何使用视图从 PostGIS 中提取几何图形,然后使用 Django 将其添加到模板中的传单地图中
- node.js - 猫鼬聚合不返回最新文档
- python - 使用 pydrive 从 google 共享驱动器下载文件,文件存在,但 API 返回 404 File not found 错误
- javascript - 测试从AngularJS中另一个方法的return语句调用一个方法的次数
- javascript - Jquery字符串不显示
- pg-promise - pg-promise 中的动态表名