Problemas de carga con Dll´s

26/04/2005 - 03:46 por raulgonve | Informe spam
Como hago para cargar del ejecutable de un Dll variables globales a los
propios Dll sin que se pierda la informacion que contienen estas variables?
 

Leer las respuestas

#1 Isidro Muñoz
26/04/2005 - 09:55 | Informe spam
No te he entendido bien,

Me parece que lo que quieres hacer es usar variables globales en la dll y
que todos los procesos que tenga cargada la dll y que todos accedan al mismo
valor ¿ es eso ?

Eso se hace declarando una section en el pe que sea de memoria compartida.

Mira este ejemplo:

#pragma section("mysec",read,write,shared)
int j = 0;
__declspec(allocate("mysec")) int i;
int i = 1;

Esta sacado de la MSDN, tienes que crear una section share con el #pragma
section, El "mysec" es el nombre de la section.

Y la variable que quieras que se aloja en esa section le pones
__declspec(allocate("mysec"))

Cuando cambio que hagas de i en cualquier proceso que tenga cargada la dll,
si leemos ese valor desde otro proceso habrá cambiado.

Aunque no estoy seguro ahora mismo muy seguro me imagino que para controlar
los cambios en i habrá que usar Mutex.

Saludos.
Isidro.


"raulgonve" escribió en el mensaje
news:
Como hago para cargar del ejecutable de un Dll variables globales a los
propios Dll sin que se pierda la informacion que contienen estas


variables?

Preguntas similares