Linux - librerias (compartidas)

 
Vista:

librerias (compartidas)

Publicado por william (19 intervenciones) el 20/11/2003 01:31:46
Hola y de antemano gracias.

Codigo fuente:

fichero: libhello.c

#include <stdio.h>
void hello(void)
{
printf("Hola Mundo\n");
}

Fichero: libhello.h
void hello(void);

Fichero: principal.c (desde donde se usara la libreria)

#include "libhello.h"
int main(void)
{
hello();
return 0;
}

Uso del gcc:

gcc -fPIC -Wall -g -c libhello.c
gcc -g -shared -Wl,-soname,libhello.so.0 -o libhello.so.0.0 libhello.o -lc
gcc -Wall -g -c principal.c -o principal.o
gcc -g -o eje principal.o -L. -lhello

Dudas:

* En el anterior caso el codigo de llib.so.0.0 se agrega al ejecutable (eje)
* que diferencia hay entre librerias (compartidas) y de (cargar dinamica)
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: querras decir estaticas vs dinamicas?

Publicado por manuel (21 intervenciones) el 27/11/2003 03:54:38
si esa es la pregunta...

estatica.- cuando la embutes con el ejecutable (resultante)

dinamica.- no la embutes. Mas bien el ejecutable hace una carga dinamica, cuando la necesita, al runtime ( y puede ser compartida por otros ejecutables).

La diferencia generalmente es el tamano resultante del ejecutable...Es obvio con cual es mas pequeno no?

Existen pareceres en que algunos prefieren la estatica, a pesar del ejecutable ser mayor. Porque? porque el programa \'gana\' independencia.
Personalmente creo (CREO) que, es mejor hacer una compilacion dinamica, por el tamano de los ejecutables resultantes. Cuanto espacio te ahorras.
Pero en todo caso (quiero continuar siendo independiente) algunos defienden lo otro, para <<determinados casos>>.

Pero en Linux, hasta donde yo se, sus programas son compilados con shared libraries (quiza no YO haya visto el caso de la estatica). Pero puedes optar por compilar tus programas de cualquiera de las dos formas.

Mira, en la FAQ de DGJPP, justo hacen mencion a ello. Echale un vistazo.

espero haber contribuido
Saludos

manuel
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:librerias (compartidas)

Publicado por chuidiang (101 intervenciones) el 30/11/2003 11:08:41
Echa un ojo en www.geocities.com/chuidiang al apartado de librerias. Es básicamente lo mismo que te dice manuel, pero un poquito más extenso.
Se bueno.
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