PDA

Visualizza la versione completa : [C] Definizioni di funzioni (e implementazione) nelle librerie


Raam General
07-10-2011, 13:30
Se io ad esempio apro la libreria gstring.h vedo solo la dichiarazione delle funzioni.
Dove trovo la loro definizione?

oregon
07-10-2011, 13:43
Questo perché i file .h *non sono* librerie.

I file di intestazione del C (i .h) contengono sono le firme delle funzioni, le costanti, le strutture, i tipi ... ma non l'implementazione che è contenuta in file .c (se hai la libreria in formato sorgente) o in file binari .lib, .a, .dll a seconda del tipo di libreria.

La libreria da linkare è la glib

Raam General
07-10-2011, 15:01
Quindi le funzioni sono direttamente nei file binari che sono illeggibili, e perciò se voglio vederle devo procurarmi i sorgenti.

oregon
07-10-2011, 15:01
Originariamente inviato da Raam General
Quindi le funzioni sono direttamente nei file binari che sono illeggibili, e perciò se voglio vederle devo procurarmi i sorgenti.

Sì ... ma se parliamo di software opensource, dovresti trovarle.

Ad esempio

http://www.opensource.apple.com/source/X11misc/X11misc-20/pkg-config/pkg-config-0.25/glib-1.2.10/gstring.c

Raam General
07-10-2011, 16:04
Grazie oregon.

Loading