#include <sys/ipc.h>
#include <sys/shm.h>
#include <iostream>
int main() {
// 创建共享内存的 key
key_t key = ftok("shared_mem", 1234);
if (key == -1) {
std::cout << "Failed to generate key." << std::endl;
return 1;
}
// 创建共享内存段
int shmid = shmget(key, sizeof(int), IPC_CREAT | 0666);
if (shmid == -1) {
std::cout << "Failed to create shared memory segment." << std::endl;
return 1;
}
// 连接到共享内存
int* sharedMem = (int*)shmat(shmid, NULL, 0);
if (sharedMem == (int*)-1) {
std::cout << "Failed to attach to shared memory segment." << std::endl;
return 1;
}
// 写入共享内存
*sharedMem = 42;
// 断开与共享内存的连接
shmdt(sharedMem);
// 删除共享内存段
shmctl(shmid, IPC_RMID, NULL);
return 0;
}
共享内存的使用
最新推荐文章于 2024-05-18 17:03:53 发布