Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: snake_linux en 2 Septiembre 2015, 17:07 pm



Título: Pequeña duda sobre GCC
Publicado por: snake_linux en 2 Septiembre 2015, 17:07 pm
Hola a tod@s, resulta que algunas veces, para que al compilar se reconozcan ciertas librerías necesito hacer un -l(libreria) si no no me la reconoce, por ejemplo, al compilar algo que usa math.h sería:

gcc pruebas.c -o pruebas -lmath

O si uso threads:

gcc pruebas.c -o pruebas -lpthread

¿ Por que tengo que linkearla si ya la defino con include ?.

Saludos.


Título: Re: Pequeña duda sobre GCC
Publicado por: someRandomCode en 2 Septiembre 2015, 17:18 pm
No todas las librerias definen en los .h las funciones, y en ese caso hay que linkearlas..
La mayoria de las funciones intrinsecas estan definidas, pero el resto se definen como externas, y solo se te da el prototipo/firma de la misma para que puedas usarla comodamente, en vez de tener que cargarla desde la libreria dinamica/estatica manualmente y luego de usarla tener que liberarla.


Título: Re: Pequeña duda sobre GCC
Publicado por: kondrag_X1 en 2 Septiembre 2015, 19:07 pm
lo mejor es hacerse un make para cada proyecto y listo.


Título: Re: Pequeña duda sobre GCC
Publicado por: snake_linux en 3 Septiembre 2015, 12:23 pm
Gracias :)