UTILISATION SIMPLE D'UNE MÉMOIRE PARTAGÉE SOUS LINUX (SHM)

Shibo_Sources Messages postés 18 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 3 août 2008 - 22 nov. 2007 à 17:16
 mohammed - 18 août 2016 à 08:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41430-utilisation-simple-d-une-memoire-partagee-sous-linux-shm

Merci
mm pblm comme Ivankov04
Merci beaucoup
((structure_partagee*)ptr_mem_partagee) = Data;
Ivalue error, ca ne marche pas
Banko22 Messages postés 1 Date d'inscription lundi 29 avril 2013 Statut Membre Dernière intervention 29 avril 2013
29 avril 2013 à 22:53
Merci pour cet Exemple Cependant je comprend pas trop la comparaison de la ligne 35 ( == (void*) -1) )
bigbe Messages postés 5 Date d'inscription jeudi 12 février 2004 Statut Membre Dernière intervention 1 octobre 2013
8 juin 2011 à 09:09
Merci pour cet exemple, 30 mn de travail autour, j'ai bien compris et tout fonctionne, bravo !
xMatko Messages postés 1 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 11 juin 2009
11 juin 2009 à 19:21
"...en espérant qu'il évitera à beaucoup des heures de galère..."

c'est gagné ;) Merci beaucoup pour cette source tuto
David36250 Messages postés 1 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 7 août 2008
7 août 2008 à 17:55
Très bon tutorial, explique très clairement une chose plutot obscure d'après les Man...
pour une fois que mmap n'est pas associé à shm, c'est plus simple a comprendre
merci à toi.
Shibo_Sources Messages postés 18 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 3 août 2008
22 nov. 2007 à 17:16
Bon tutorial, simple et efficace.

Cependant, après avoir détaché la shared memory, ne faudrait-il pas la supprimer avec:
shmctl(mem_ID, IPC_RMID, 0);

Je ne sais pas si sous linux l'IPC gére automatiquement la suppression mais sous Sun il est nécessaire de le faire, enfin il me semble.

Une question me turlupine le bulbe aussi:
Pourquoi avoir utilisé un pointeur void et s'amuser à le caster alors qu'on aurais pu définir un pointeur de structure "structure_partagee *" ? Es-ce pour une question d'optimisation?

Sinon, rien à redire.
Rejoignez-nous