在C++中使用mmap()实现进程间共享内存的方法如下:
1. 包含头文件:
```cpp
#include
#include
#include
#include
```
2. 打开一个共享内存对象:
```cpp
int fd = open("/tmp/shared_memory", O_CREAT|O_RDWR, 0666);
if(fd == -1) {
perror("open");
exit(1);
}
```
3. 设置共享内存的大小:
```cpp
int size = 4096;
ftruncate(fd, size);
```
4. 映射共享内存到进程的地址空间:
```cpp
void* shared_memory = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
if(shared_memory == MAP_FAILED) {
perror("mmap");
exit(1);
}
```
5. 写入共享内存:
```cpp
strcpy((char*)shared_memory, "Hello, shared memory!");
```
6. 解除映射并关闭文件描述符:
```cpp
munmap(shared_memory, size);
close(fd);
```
上述代码演示了如何使用mmap()实现进程间共享内存的基本步骤。在实际应用中,需要注意多个进程之间对共享内存的访问控制,避免数据竞争等问题。