Précédent   Forum du club des développeurs et IT Pro > C et C++ > C > Bibliothèques, systèmes et outils > POSIX
POSIX Forum d'entraide sur le standard POSIX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/12/2012, 18h47   #1
lysle
Invité de passage
 
Inscription : décembre 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 2
Points : 0
Points : 0
Par défaut segment de memoire partagée,allocation de memoire

Bonjour,
j'ai 2 structures,et j'aimerais les mettre dans ma memoire partagée,mais je ne sais pas comment l'allouer pour mes 2 structures avec un mmap.
Comment fait on?
j'ai une ebauche ci-dessous:

Code :
1
2
3
4
5
6
7
8
9
typedef struct livre{
char *nom;
struct livre *next;
}livre;
 
typedef struct biblio{
struct livre *tete;
int nb_livres;
}biblio;
Merci d'avance
lysle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2013, 18h58   #2
noname120
Nouveau Membre du Club
 
Homme
autre
Inscription : décembre 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : autre
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2012
Messages : 22
Points : 25
Points : 25
http://support.sas.com/documentation...2/z2101547.htm
noname120 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/01/2013, 11h46   #3
Médinoc
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 22 390
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2005
Messages : 22 390
Points : 32 032
Points : 32 032
Envoyer un message via MSN à Médinoc
Des données en mémoire partagée ne peuvent contenir de pointeurs, car le segment de mémoire partagée peut être à des adresses différentes d'un processus à l'autre (sauf peut-être s'il est mappé avec mmap avant un fork).
Mais tu peux à la place utiliser des offsets depuis le début de la mémoire.

Quant à l'allocation, tu vas devoir la gérer toi-même. Si tu n'as pas à gérer la désallocation des éléments individuels (on considère juste que tout est désalloué quand on détruit le segment), c'est relativement simple; sinon, ça devient beaucoup plus compliqué.
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone.
-- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h27.


 
 
 
 
Partenaires

Hébergement Web