多个进程直接需要传递大量图片,所以对性能要求较高。支付复制内存显然比转成byte[]再复制优越。
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
public CMainTestForm()
{
InitializeComponent();
WriteIntToMemFile(34);
}
static unsafe void WriteIntToMemFile(int i)
{
using (var mmf = System.IO.MemoryMappedFiles.MemoryMappedFile.CreateNew("HZD20230925", 42))
using (var view = mmf.CreateViewAccessor())
{
byte* poke = null;
view.SafeMemoryMappedViewHandle.AcquirePointer(ref poke);
CopyMemory(new System.IntPtr(poke), new System.IntPtr(&i), sizeof(int));
view.SafeMemoryMappedViewHandle.AcquirePointer(ref poke);
int iRead = view.ReadInt32(0);
Debug.Assert(iRead == i);
}
}
[DllImport("kernel32.dll", EntryPoint = "RtlMoveMemory", CharSet = CharSet.Ansi)]
public extern static long CopyMemory(IntPtr dest, IntPtr source, int size);
Win7 VS2022
基础算法的C++实现课程,请点击下面的CSDN学院的链接。讲义有算法详解。 |
2024年1月15之前完全免费,之后绝大部分免费 |
C#入职培训 |
此课程的目的:让新同事更快完成从学生到C#程序员的转换,更快上手完成C#的开发工作。 |
C++入职培训 |
让新同事更快完成从学生到C++程序员的转换,更快上手完成C++的开发工作。 |
Win10 VS2022 Ck++17 或win7 VS2019 C++17
好好学习,天天向上。 |
事无终始,无务多业。 |
是故置本不安者,无务丰末。 |
如果你时间宝贵,只想看精华,请到CSDN下载频道下载《闻缺陷则喜算法册》doc版