/* Creating a shared memory segment and attaching it to the logical address space. sharedMem2.c++ Its logical address, size and removal */ #include using namespace std; #include #include #include #include #define SIZE 4 #define MAXSIZE (2*4096) // 16KB int main() { int shmID, *p; struct shmid_ds buff; shmID = shmget(ftok("/home/goutam", 1234), SIZE, IPC_CREAT | 0777); if(shmID == -1) { cerr << "Error in shmget"; exit(1) ; } p = (int *) shmat(shmID, 0, 0777); cout << "Shared memory address: " << (void *) p << "\n"; p[0]=0; p[MAXSIZE]=MAXSIZE; cout << "data: " << p[0] << "-" << p[MAXSIZE] << "\n"; shmdt(p) ; shmctl(shmID, IPC_RMID, &buff); return 0 ; }