Gå til innhold

old-style og ANSI C


Anbefalte innlegg

Skrevet (endret)

Etter en del lesing her på forumet og ellers og, valgte jeg å kjøpe meg "The C Programming Language" av Kernighan og Ritchie. Den virker veldig bra, men de veldig enkle programmene i starten av boken vil bare ikke virke som de skal(er noe rart med EOF). Jeg får ingen kompilatorfeil, men når jeg prøvde på FreeBSD'en på skolen i stedet fikk jeg feilmeding om

"FileCopy.c", line 4: warning: old-style declaration or incorrect type for: main

Etter litt søkeing fant jeg ut at hvordan man skal deklarer har forandret seg litt, i siste versjon av C. Men boka er jo oppdatert for ANCI-C selv om den jo er veldig gammel. Noen som kan oppklare dette litt.

Endret av LessThanJake
Videoannonse
Annonse
Skrevet

Skriv main() som int main(void) eller int main(int argc, char* argv[]).

 

 

Disclaimer: Jeg er ingen C-programmerer. Å bruke en av de to deklarasjonene er i alle fall en sikker løsning.

Skrevet

Alltid en fordel å ha med relevant kodesnutt. Jeg gjetter på at du bruker en

void main(...)

deklarasjon.

 

I tillegg til Myubi sine forslag, så kan du også bruke:

int main(int nargs,char** args,char** env)

Skrevet (endret)

I boka står det bare main(), og så prøvde jeg void som i java, begge ga feil. Int løste det, noen som vet om det er mye slike irriterende smådetaljer som er forandret siden boken kom ut.

Endret av LessThanJake
Skrevet

Problemet er i dette tilfellet at main() før impliserte int main(). Slik er det ikke lenger, og derfor er det en feil å utelukke int-delen.

 

Du skal ikke se bort ifra at det er en del slike uoverensstemmelser mellom boken og standardene.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...