partage de la memoire - Programmation
Marsh Posté le 12-04-2002 à 18:49:20
Avec l'API Windows je pense que c'est via GlobalLock et autres fonctions du genre...
À confirmer.
Marsh Posté le 13-04-2002 à 00:08:15
Myke a écrit a écrit : Voila: je viens du monde linux, et je dois faire le 'portage' d'un projet sous windows. Comment faire pour que deux applications sous windows puissent se partager une zone mémoire commune ??? please help ... |
J'ai pas de MSDN sur moi (je suis chez moi, et chez moi pas de windows).
Tu dois pouvoir passer par un fichier projete en memoire: CreateFileMapping, MapViewOfFile. Et comme fichier, tu passes INVALID_HANDLE_VALUE, ce qui associe le mapping a une zone memoire et pas un fichier. Et file lui un nom, comme ca les differents programmes sauront quoi acceder.
Enfin, j'espere que je me plante pas, car je l'ai jamais utiliser pour partager des donnees inter-process...
Marsh Posté le 13-04-2002 à 00:16:16
Ouais ça doit plutôt être ça...
Marsh Posté le 13-04-2002 à 01:16:07
http://msdn.microsoft.com/library/ [...] p_3lrt.asp
truc qui te sera utile:
http://msdn.microsoft.com/library/ [...] _Win32.asp
win32 gère bien les mémoires partagées nommées/pipes nommés, mais contrairement à unix/linux, toute ressource de ce style est automatiquement détruite lorsque tout le monde relâche son handle. (sous unix/linux, lorsque tu crées une mémoire partagée et que tous les process meurent, les ipcs restent en vie, fo alors les tuer à la main, sous win tout est tué quand plus rien l'utilise)
sinon autre détail, le fork() n'existe pas réellement, microsoft préférant une approche multi-threadée...
enn y'a moyen d'avoir la même approche.
Marsh Posté le 13-04-2002 à 01:57:09
Quel type de donnée cherches tu a partager?
ca pourrait tenir dans une chaine de 255 chars?
A+,
Marsh Posté le 13-04-2002 à 20:54:33
gilou a écrit a écrit : Quel type de donnée cherches tu a partager? ca pourrait tenir dans une chaine de 255 chars? A+, |
message ?
Marsh Posté le 13-04-2002 à 22:30:13
Je pensais DDE.
A+,
Marsh Posté le 12-04-2002 à 18:26:38
Voila: je viens du monde linux, et je dois faire le 'portage' d'un projet sous windows. Comment faire pour que deux applications sous windows puissent se partager une zone mémoire commune ???
please help ...