DOMANDA Header, sorgenti e librerie in C

demda

Utente Attivo
352
49
Ciao ragazzi, spero possiate aiutarmi a fare un po' di chiarezza.
Se non ho capito male, un file headers è un file con estensione .h che contiene i prototpi delle funzioni da includere nella libreria, mentre nei file .c c'è l'implementazione delle funzioni "dichiarate" nel file headers. compilando entrami i files si ottiene la libreria .lib. Quindi per usare questa libreria mi basta conoscere ed includere nel file sorgente il file headers .h della libreria che voglio includere.
È corretto ?
 

_Achille

Utente Èlite
3,041
710
CPU
Intel i5-6600K @4.6 GHz
Dissipatore
Cryorig H5
Scheda Madre
ASRock Z170 Extreme 6
Hard Disk
WesternDigital 1TB & Crucial MX200 250GB
RAM
Corsair Ven 16GB DDR4 2133MHz
Scheda Video
Sapphire RX 580 Nitro+
Monitor
Dell S2418H
Alimentatore
RM550X
Case
NZXT S340
Periferiche
Cooler Master XT; Razer Abyssus
Sistema Operativo
Windows 10 Pro
Compilando il file .c con gcc -c namefile.c ottieni un file object namefile.o.
Se hai un main.c che utilizza delle funzioni definite in fun.h, implementate in fun.c compili con gcc -o nomeeseguibile main.o fun.o
 
  • Mi piace
Reactions: demda

Andretti60

Utente Èlite
3,872
2,608
Compilando il file .c con gcc -c namefile.c ottieni un file object namefile.o.
Se hai un main.c che utilizza delle funzioni definite in fun.h, implementate in fun.c compili con gcc -o nomeeseguibile main.o fun.o
E' un po' diverso da quello che ha chiesto il OP, che era riferito a una libreria (.lib) Quello che hai spiegato tu e' come linkare diversi file oggetto per creare un eseguibile. In quel caso non si ha bisogno di un .h per ogni file sorgente, basterebbe un include unico.
Ma il discorso e' lo stesso, i file .h (comunemente chiamati include) sono quelli che contengono le definizioni dei prototipi delle funzioni ed eventualmente la definizione delle costanti e dei tipi usati nel file oggetto.
Una domanda interessante sarebbe quale sarebbe la differenza nel creare file oggetto (.o) o una libreria (.lib)
 
  • Mi piace
Reactions: Mursey e demda

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot del momento