Voisiko joku näyttää miten omat headeritiedostot tehdään?
Eli olisi 3 tiedostoa: main.c, oma.h ja oma.c
main.c:ssa includeraan tuo oma.h.
oma.c:ssa pitäisi olla includerattu tuo oma.h
Näin siis pitäisi olla teoriassa, mutta ei toimi.
Jos main.c:ssa includeran oma.c eikä oma.h niin homma pelaa. Mitä on tietenkin loogista, koska silloin kaikki tiedostot on includerattu.
Yritin kääntää gcc main.c sekä gcc *.c
En tajua mitään enää.
Eli olisi 3 tiedostoa: main.c, oma.h ja oma.c
main.c:ssa includeraan tuo oma.h.
oma.c:ssa pitäisi olla includerattu tuo oma.h
Näin siis pitäisi olla teoriassa, mutta ei toimi.
Jos main.c:ssa includeran oma.c eikä oma.h niin homma pelaa. Mitä on tietenkin loogista, koska silloin kaikki tiedostot on includerattu.
Yritin kääntää gcc main.c sekä gcc *.c
En tajua mitään enää.
Vastaukset 3
Vanhimmat
Headerissa on hyvä olla ns 'header guard'it eli:
Tiedoston alkuun (kyseessä vaikka tuo oma.h):
#ifndef _OMA_H
#define _OMA_H
//tavaraa tässä välissä...
Loppuun:
#endif
Tarkoitus EI ole includata .c tai .cpp -tiedostoja.
Tiedäthän eron #include ja #include "header.h" väliltä?
Jälkimmäisellä includeet omat headerit koska se hakee headerit siitä ohjelmasi omasta kansiosta eikä kääntäjän include hakemistosta.
virhe header filessä
joko macrossa tai jossain muussa define rivissä esim . ; tai joku muu merkki joka korvaa esim jonkun ehtolauseen varsinaisesta koodista .c tai .cpp filestä?