qaynqiao 2022-06-28 14:25
浏览 26
已结题

qt放完golang的共享内存

golang 共享内存 用Qt怎么去读取:

例如:用golang :共享的内存
package main
import (
"fmt"
"log"
"os"
"os/signal"
"sync"
"syscall"
"time"
"unsafe"
)

func main() {
file, _ := syscall.UTF16PtrFromString("ShareMemory")
size := 100000 // I’ve tried unsafe.Sizeof(MumbleData{}) but that didn’t work.

handle, err := syscall.CreateFileMapping(0, nil, syscall.PAGE_READWRITE, 0, uint32(size), file)
if err != nil {
    log.Fatal(err)
}
defer syscall.CloseHandle(handle)
addr, err := syscall.MapViewOfFile(handle, syscall.FILE_MAP_WRITE, 0, 0, 0)
if err != nil {
    log.Fatal(err)
}
var str string = `{"aaaa":"bbbb","cccccc":"ddddddd"}`
data := (*[1024]byte)(unsafe.Pointer(addr))
for i, v := range str {
    data[i] = byte(v)
}
time.Sleep(1 * time.Second)
fmt.Println("str: ", string(data[:]))
for {
}

}
怎么使用QT 去读取出来golang共享数据 如果使用
QSharedMemory sharememory("ShareMemory") 根本就读取不到。要怎么样才能 使用 qt把共享内存数据读取出来。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 7月6日
    • 创建了问题 6月28日

    悬赏问题

    • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
    • ¥15 求caverdock使用教程
    • ¥15 Coze智能助手搭建过程中的问题请教
    • ¥15 12864只亮屏 不显示汉字
    • ¥20 三极管1000倍放大电路
    • ¥15 vscode报错如何解决
    • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
    • ¥15 python随机森林对两个excel表格读取,shap报错
    • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
    • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。