Avatar billede dank Nybegynder
26. oktober 2003 - 21:08 Der er 9 kommentarer og
1 løsning

include af fil med funktioner

Jeg er lidt i tvivl om hvordan man includer f.eks. en fil med nogle funktioner, som jeg gerne vil have ud af min primære fil.

I nogle sources som jeg har skimtet igennem, ser det ud til at de altid inkluderer fil.h og ikke f.eks. fil.c

f.eks.

tcp.h:
#define incopy(a)      *((struct in_addr *)a)
int connect_to(char *host, int portnr);

Og så er der en "korresponderende" tcp.c fil?

Er det måden det *skal* gøres på eller? Og hvad/hvorfor skal være i .h filen?
Avatar billede erikjacobsen Ekspert
26. oktober 2003 - 21:32 #1
"Skal" - nej, men det plejer man.

Kun funktionsheaders i .h - ikke kode. Og konstanter ;) Og typeerklæringer ;))
Avatar billede dank Nybegynder
26. oktober 2003 - 21:40 #2
ok... det siger mig dog ikke så meget, har jo kun rodet med C idag :)

erikjacobsen> Jeg har fået smidt din email væk, efter en format c: - hvis du smider mig en mail, så skal jeg fortælle hvad der er sket, som jeg omtalte tidligere.
Avatar billede erikjacobsen Ekspert
26. oktober 2003 - 21:48 #3
Kig på min minisite
Avatar billede arne_v Ekspert
26. oktober 2003 - 21:48 #4
Hvis du har:

#include "fil.c"

i mere end en .c fil og du forsøhger at builde det sammen til en
executable får du fejl, fordi funktionerne så er implemeneteret flere
gange.

Derimod kan du sagtens have:

#include "fil.h"

i flere .c filer, fordi det er kun er erklæringer af funktioner.

Derfor er det kotyme at putte erklæringer i fil.h og implementationen
i fil.c og include fil.h i alle de .c filer som skal bruge
funktionerne (og fil.c for konsistens).
Avatar billede dank Nybegynder
26. oktober 2003 - 21:51 #5
ok tak skal i have.. jeg må lave min fil/funktion færdig, så kan det være jeg vender tilbage med ? om hvordan jeg definerer den :)

erikjacobsen> ok, det lignede blot ikke den email jeg havde, men snarere en depricated email adresse :)
Avatar billede dank Nybegynder
26. oktober 2003 - 21:51 #6
svar?
Avatar billede arne_v Ekspert
26. oktober 2003 - 22:10 #7
svar
Avatar billede arne_v Ekspert
26. oktober 2003 - 22:14 #8
Skulle Erik ikke have haft noget ?
Avatar billede dank Nybegynder
26. oktober 2003 - 22:17 #9
hov jo... Men er efterhånden bleven så vant til at Erik ikke vil have point, blot hjælpe os andre fortabte sjæle :))

erik> Vil du have point, så opretter jeg et svar til dig?
Avatar billede erikjacobsen Ekspert
26. oktober 2003 - 22:20 #10
Nej tak, du skal ikke spamme eksperten.dk med den slags irrelevante "spørgsmål"
(i hvert fald når det er point til mig)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester