int shmdt(char *Adresse);
#include <stdio.h>
#include <sys/shm.h>
int NumeroMemoirePartagee;
void *AdresseMemoirePartagee;
MemoirePartagee=shmget((key_t)12345, 1, 0666|IPC_CREAT|IPC_EXCL);
if (!MemoirePartagee)
{
...
}
...
AdresseMemoirePartagee=(void *)shmat(NumeroMemoirePartagee, NULL, 0);
if (!AdresseMemoirePartagee)
{
...
}
...
if (shmdt((char *)AdresseMemoirePartagee)==-1)
{
...
}
if (shmctl(NumeroMemoirePartagee, IPC_RMID, NULL)==-1)
{
...
}
...
Le résultat est -1 en cas d'erreur.