Gå til innhold

når bruke headerfiler?


Anbefalte innlegg

Videoannonse
Annonse

I headerfiler legger du deklarasjoner. Når du bestemmer deg for å lage litt større programmer, kan det være lurt å dele opp koden slik, så du slipper å ha en gigantisk main.c fil.

 

Det er f.eks. vanlig praksis å legge funksjonsdeklarasjoner, klassedeklarasjoner, osv. i headerfiler, for så å ha respektive implementasjons-filer.

 

F.eks.

header.h:

#ifndef HEADER_H
#define HEADER_H

int add(int, int);

#endif

header.c:

#include "header.h"
int add(int a, int b)
{
return a + b;
}

 

main.c

#include <stdlib.h>
#include "header.h"
int main()
{
int a = add(3, 5);
return 0;
}

 

Så, når du kompilerer må du kompilere main.c og header.c:

(Linux/Unix)

$ gcc main.c header.c -o program

 

Er ikke helt sikker på om dette er gyldig C-kode, osv., men selve prinsippet burde stemme. :)

 

Edit: Får å bruke tråder, kan du bruke bibloteker som pthreads. Fant en tutorial her, men ettersom jeg ikke har lest denne selv, vet jeg ikke om den er noe god/dårlig.

Er også noe stuff her: http://www.humanfactor.com/pthreads/posix-threads.html

:)

Endret av zirener
Lenke til kommentar
hvis jeg ikke tar helt feil så skal main egentlig returnere 0... det er ihvertfall vanlig i C å returnere 0 når alt var ok, og et annet tall dersom noe går feil.

5667790[/snapback]

 

jo, men man kan vel velge hvilket tall som skal være "det riktige" iallefall når du bruker return-funksjonen... eller? :roll:

Lenke til kommentar

Det er stort sett alltid lurt å bruke headerfiler. Eneste grunn til å ikke bruke slike er i tilfelle når man ønsker alt i en fil, for eksempel for å gjøre det enklere å poste i et forum for dette.

 

Det kan også være litt enklere å forholde seg til ett i stedet for to vinduer på småprogrammer.

 

Men headerfiler bør man etter min meninge vende seg til å alltid bruke.

Lenke til kommentar

det er egentlig ikke slik at man har noe valg; man _må_ bruke headerfiler om man skal bruke en definisjonen av en ting flere steder .. man bruker headerfilene til å dele deklarasjonene ut til de forskjellige kompilerings-enhetene, og linker dem mot den éne definisjonen ... gjør man ikke det sier uansett linkeren i fra

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...