C/Visual C - Acceso a funciones de un ejecutable

 
Vista:

Acceso a funciones de un ejecutable

Publicado por kapachov (12 intervenciones) el 12/12/2005 12:40:11
Holas...

He leido en estos dias que puedo acceder a una funcion que esta en un ejecutable, por medio de "g_module_open"

http://www.es.gnome.org/eventos/log/charlairc-20021222-glib_avanzado.log.php

He estado intentando pero no he sido capaz, alguien que me heche una mano!?

---
gracias por la atencion prestada...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Acceso a funciones de un ejecutable

Publicado por fernando.gomez (1603 intervenciones) el 12/12/2005 16:37:24
Transcribo algo de lo que dice el artículo:

>podemos cargar nuevos módulos con g_module_open:
>
>GModule* g_module_open (const gchar *file_name, GModuleFlags flags);
>
>el primer parámetro es el fichero (.so) que representa el módulo a cargar
>puesto que el nombre de esos ficheros es dependiente del sistema (.so/.dll...)

Primero. El artículo está hablando de GNOME. Segund, g_module_open "abre" una librería de enlace dinámico, DLL (Windows), o una librería de objetos compartidos, SO (Unix). Pero no un ejecutable.

Para cargar funciones desde binarios externos, estos tienen que ser librerías SO (o DLL en Windows), ya que la función de éstas es precísamente exportar funciones y objetos. Pero no desde un ejecutable.

La única forma que yo conozco de exportar clases desde un ejecutable es a través de COM (en Windows). Quizás CORBA tenga algo similar.

Saludos,
Fernando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acceso a funciones de un ejecutable

Publicado por kapachov (12 intervenciones) el 12/12/2005 17:25:40
Holas...

Antes que nada, gracias por la respuesta...

Transcribo algo de lo que dice el artículo:

rodrigo> con g_module_open no solo podemos cargar librerías
rodrigo> si no que tambien podemos cargar un ejecutable y hacer llamadas a sus
> funciones
rodrigo> normalmente, usaremos librerías, que es lo más comun
rodrigo> uyna vez obtenido, con g_module_open un GModule válido
rodrigo> sólo nos queda obtener punteros a las funciones/datos del módulo
rodrigo> eso se hace con:
rodrigo> gboolean g_module_symbol (GModule *module,
rodrigo> const gchar *symbol_name,
rodrigo> gpointer *symbol);

Saludos...

---
gracias por la atencion prestada...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acceso a funciones de un ejecutable

Publicado por kapachov (12 intervenciones) el 14/12/2005 11:04:04
Holas...

He estado buscando en internet informacion relacionada con el asunto este que me interesa tanto! y me encontrado con lo siguiente:

http://www.freebsd.org.mx/faq/hackers.html#Q14.14.

Luego de hacer lo que aqui me decia y no funcionar; he seguido indagando!
preguntandome que puede estar pasando! ... he mirado el man del "ld" y me he encontrado con la opcion "-pie" ó "--pic-executable" y que Eureka! Bingo! Voila! Funciona!! ...

Espero que le sea de ayuda a la comunidad...

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar