>CreateFileMapping实现的共享内存及用法 📝💡
2025-03-20 18:51:02
•
来源:
导读 在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` 是高效实现进程间通信的利器,适配多种场景需求,快来试试吧! 💡💻
免责声明:本文由用户上传,如有侵权请联系删除!