Ⅰ. はじめに
タイトルの通り「C#で共有メモリを利用する方法」です。
以下記事の方法でC++でも同じメモリ空間を利用できます。
https://kagasu.hatenablog.com/entry/2017/05/03/003922
Ⅱ. やり方
1. サンプルプログラムを書く
using System.IO.MemoryMappedFiles; using System.Runtime.InteropServices; [StructLayout(LayoutKind.Sequential, Pack = 1)] struct Data { public int Value; } class Program { static void Main(string[] args) { using var memoryMappedFile = MemoryMappedFile.CreateOrOpen("test001", (uint)Marshal.SizeOf(typeof(Data))); using var accessor = memoryMappedFile.CreateViewAccessor(); var data = new Data(); // 書き込む data.Value = 100; accessor.Write(0, ref data); // 読み込む accessor.Read(0, out data); } }
実行結果
省略