partage de la memoire

partage de la memoire - Programmation

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 ...

Reply

Marsh Posté le 12-04-2002 à 18:26:38   

Reply

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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...

Reply

Marsh Posté le 13-04-2002 à 00:16:16    

Ouais ça doit plutôt être ça...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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.

Reply

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+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

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 ? :D

Reply

Marsh Posté le 13-04-2002 à 22:30:13    

Je pensais DDE.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed