Avatar billede tudekoen Nybegynder
11. marts 2004 - 22:13 Der er 9 kommentarer og
2 løsninger

gcc version

Hej

Når jeg compiler programmer osv., så får jeg rimelig tit nogle warnings som denne:

warning: return type of `main' is not `int'

Jeg bruger gcc 2.95 compileren, ville det hjælpe hvis jeg opgraderede til gcc 3?
Avatar billede arne_v Ekspert
11. marts 2004 - 22:16 #1
Nej.

Det vil hjælpe hvis du erklærer main som int og ikke void.
Avatar billede rasmusbg Nybegynder
11. marts 2004 - 22:19 #2
Højst sandsynligt ikke. Main-metoden i C- og C++ programmer bør returnere et tal, der fungerer som en statuskode, der fortæller, hvorfor programmet er termineret. Hvis main er sat til at returnere void vil fejlen komme, men for afvikling, af programmerne med en sådan main-metode, betyder det ikke noget.
Avatar billede tudekoen Nybegynder
11. marts 2004 - 22:20 #3
Ok, det vil sige jeg skal ind og rette i 100 .c filer hver gang jeg vil rekompilere et program? Det havde jeg ikke lige tænkt mig.

Har det overhovedet nogen praktisk betydning, når det kun er en warning?

Og hvad gør I andre ved disse warnings, hvis I ikke ignorerer dem? :)
Avatar billede arne_v Ekspert
11. marts 2004 - 22:23 #4
Du har vel kun 1 main per program ...

Vi andre erklærer normalt main som int når vi skriver programmet første gang
og har derfor ikke problemet.
Avatar billede rasmusbg Nybegynder
11. marts 2004 - 22:24 #5
Hvis det er warnings i samme stil som den du får, så vil jeg ikke gøre noget ved den. Det er, som jeg skriver ikke noget, der har betydning for afvikling af programmet.
Dog vil jeg sige, hvis det var et program, jeg selv havde skrevet, så ville jeg sørge for det kunne kompilere uden warnings.
Det skal siges, at warnings som regel ikke betyder noget for afvikling af programmer.
Avatar billede tudekoen Nybegynder
11. marts 2004 - 22:31 #6
Ja ok, jeg forstår godt det skal defineres som int og ikke void. Det ville jeg nok heller ikke gøre selv, hvis jeg skulle lave noget.
Men hvorfor defineres main som void i f.eks. qmails source? Det forstår jeg så ikke :)

Men smid nogle svar så får I 50/50 :)
Avatar billede rasmusbg Nybegynder
11. marts 2004 - 22:35 #7
Garanteret fordi programmørerne ikke er bekendt med ANSI-C... ;o)
Avatar billede arne_v Ekspert
11. marts 2004 - 22:41 #8
Der er desværre en del C programmører og en del forfattere af C bøger som
bruger void main.

Det bliver det ikke mere rigtigt af.
Avatar billede arne_v Ekspert
11. marts 2004 - 22:41 #9
svar
Avatar billede tudekoen Nybegynder
11. marts 2004 - 22:46 #10
tak for hjælpen.
Avatar billede rasmusbg Nybegynder
11. marts 2004 - 22:50 #11
Det var så lidt, og tak for point :o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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