Buenas amigos hoy os vengo con una pequeña duda la cual quisiera me den una ayudita.
Bueno estoy tratando de pasar una variable tipo "char" de una DLL a otra DLL utilizando dllimport y dllexport pero no funciona ya que al importarlo a la DLL no contiene valor.
__declspec(dllexport) char *variable;
variable = "Hola";
Y en la DLL en la cual quiero utilizar el contenido de la variable utilizo:
__declspec(dllimport) char *variable;
No se que hago mal pero no se importa o exporta correctamente, todo compila perfecto al momento de vincular el .lib pero no la importacion no sirve.
¿Hay algún otro metodo o como podria hacerlo correctamente?
Un saludo y muchas gracias de antemano.
Y la manera en la que estas intentando acceder a la variable?
Lo utilizo de la siguiente manera.
__declspec(dllimport) char *variable;
printf("%s", variable);
Un saludo.
Cita de: RayHack en 10 Abril 2014, 04:54 AM
Lo utilizo de la siguiente manera.
__declspec(dllimport) char *variable;
printf("%s", variable);
Un saludo.
Decis que estas importando la variable de una DLL a otra , lo que tienes que hacer es obtener su dirección ya sea 'manualmente'
parseando la imagen o usando estas funciones:
VarDireccion = GetProcAddress(GetModuleHandle("Nombre_De_La_DLL"),"Nombre_De_La_Variable")
Agregado:
Si se hace directamente importando la funcion entonces simplemente la direccion deberia estar en la IAT/Import Directory