您的位置:首页 >科技 >

>CreateFileMapping实现的共享内存及用法 📝💡

导读 在Windows编程中,`CreateFileMapping` 是一个强大的API,用于创建基于文件映射的对象,从而实现进程间的共享内存(Shared Memory)! ...

在Windows编程中,`CreateFileMapping` 是一个强大的API,用于创建基于文件映射的对象,从而实现进程间的共享内存(Shared Memory)! 🖥️✨

首先,我们需要通过 `CreateFileMapping` 创建一个文件映射对象,它允许多个进程访问同一块内存区域。例如:

```cpp

HANDLE hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size, L"SharedMemory");

```

上述代码会创建一块可读写的共享内存,大小由 `size` 决定,并命名为 `"SharedMemory"`。接着,使用 `MapViewOfFile` 将内存映射到当前进程的地址空间:

```cpp

LPVOID pMem = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, size);

```

共享内存的核心在于其数据可以在不同进程中同步更新。比如,一个进程写入数据后,另一个进程可以立即读取到最新值,非常适合实时通信或协作任务! 🚀💬

但需注意,使用完毕后必须调用 `UnmapViewOfFile` 和 `CloseHandle` 释放资源,避免内存泄漏! 🛑❌

总结来说,`CreateFileMapping` 是高效实现进程间通信的利器,适配多种场景需求,快来试试吧! 💡💻

免责声明:本文由用户上传,如有侵权请联系删除!