Foros del Web » Programación para mayores de 30 ;) » C/C++ »

llamar una funcion de una libreria dinamica

Estas en el tema de llamar una funcion de una libreria dinamica en el foro de C/C++ en Foros del Web. saludos tengo una libreria dinamica con una funcion llamada potencia(int n1,int n2) la libreria se llama matema . como la llamo desde mi programa c++...
  #1 (permalink)  
Antiguo 04/09/2010, 06:52
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 1 mes
Puntos: 2
llamar una funcion de una libreria dinamica

saludos tengo una libreria dinamica con una funcion llamada potencia(int n1,int n2)


la libreria se llama matema.

como la llamo desde mi programa c++
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz
  #2 (permalink)  
Antiguo 04/09/2010, 19:11
 
Fecha de Ingreso: septiembre-2010
Mensajes: 60
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: llamar una funcion de una libreria dinamica

Eso depende del sistema operativo en el que estés.
  #3 (permalink)  
Antiguo 04/09/2010, 21:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: llamar una funcion de una libreria dinamica

#include <matema> (teniendo la libreria en el directorio default de donde incluye librerias tu compilador)
  #4 (permalink)  
Antiguo 05/09/2010, 05:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 60
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: llamar una funcion de una libreria dinamica

Si es una librería dinámica será un .dll o un .a
  #5 (permalink)  
Antiguo 05/09/2010, 08:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: llamar una funcion de una libreria dinamica

Supongo que, incluyendo los ficheros ".h" en tu directorio, y en el codigo. Y despues solamente decirle al enlazador que usaras esa biblioteca. Si no voy mal, si tienes la .dll o .a en el mismo directorio que el ejecutable, basta con poner algo asi:

Cita:
-lnombredelalibreria
Suele ser un nombre mas corto que el nombre completo de la libreria, pero debe estar explicado en algun sitio.

Tambien te queda la opcion de crear las funciones que necesites, pero eso ya es en funcion de la necesidad que tengas sobre la libreria que deseas usar.
  #6 (permalink)  
Antiguo 06/09/2010, 02:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 60
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: llamar una funcion de una libreria dinamica

Si se enlazan al código son librerías estáticas, no dinámicas. Me equivoqué y comenté que tenía que tener la extensión .a... la extensión para librerías compartidas en linux es .so.
Por ejemplo, según la Wikipedia el artículo "Dinamic link library", las librerías se cargan con LoadLibrary(), y se obtienen los punteros a las funciones con GetProcAddress().
Sin embargo de windows no tengo mucha idea.
Para cargar en linux, se utiliza dlopen() y dlsym() para obtener los punteros a funciones.
  #7 (permalink)  
Antiguo 07/09/2010, 08:04
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 1 mes
Puntos: 2
Respuesta: llamar una funcion de una libreria dinamica

Podrian ponerme un ejemplo para cada systema uno para linux y otro para windos
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz

Etiquetas: dinamica, funcion, libreria, llamar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:22.