c# - 如何在没有持久文件的情况下在 Linux 中使用 .NET 内存映射文件?
问题描述
在 Linux 上使用 .NET (dotnet 5.0)MemoryMappedFile.CreateFromFile()
可以工作(但不支持mapName
),但是CreateNew()
andCreateOrOpen()
和OpenExisting()
throw System.PlatformNotSupportedException: Named maps are not supported.
。由于不支持命名映射,这意味着仅支持持久文件支持的内存映射。
有没有办法在 Linux 上的 .NET 中获得基于内存的非持久 MMF?也许是一些单声道库,或者 NuGet 中的其他东西?甚至是使用的工作示例pinvoke
?
我想在 C# .NET 应用程序和其他一些应用程序(可能是 C、C++ 和/或 python)之间共享 linux 中的内存。最好使用共享内存而不是套接字或管道,因为如果消费者不可用,我不希望数据在缓冲区中等待。
解决方案
推荐阅读
- sql - BigQuery SQL:按键动态连接列中的所有行
- angular - 我无法将 [href] 与我的变量值绑定
- powerbi - PowerBI 上个月筛选类别的运行总计
- r - 用包括 NA 在内的许多值重新编码数值变量
- html - 在 H1 内使用跨度时,H1 未水平居中(仅添加到右侧)
- php - 使用 Firebase 的 Laravel 推送通知
- html - linux上的vscode,安装并启用了智能感知,但无法正常工作
- c++ - 如何实现添加和删除数组元素?
- android - 当应用在 Google Play 商店上线时,用户是否也能看到额外的成就?
- c# - C# 二叉树 2D 打包算法 旋转