Citat:
Ursprungligen postat av
Matte-fraga
Hej,
Nyss startat upp C-programmering igen och har installerat Cygwin.
När jag kompilerar for jag ut e a.exe. För några år sedan var det a.out som genererades.
Vad har hänt senaste åren?
Klagar inte såklart, asskönt att få ut en .exe
a.out är default filnamn på en exekverbar fil (program) som genererats av gcc-compilern (output) under Linux/Unix/*nix OS-serien. Det namnet skapades för att programmeraren var lat och skulle slippa att skriva ett namn på sitt program. Kompilatorn består av preprocessorn, compilern och länkaren.
Preprocessorn kör igenom alla headerfilerna, compilern översätter den sammansatta koden till objektkod (maskinkod för den aktuella CPU-arkitekturen). Länkaren sätter ihop objektkodsmodulerna ihop med eventuella libraries, dvs bibliotek, till ett exekverbart program.
gcc är både preprocessor, compiler och länkare i ett,
Ibland så på somliga *nix-system var man tvungen att ändra flaggorna för a.out att den fick exekveringsbehörigheter, ett jävligt irriterande slöseri med tid,
Ännu idag så genererar gcc en a.out om man inte annars har specificerat ett annat namn på den exekverbara filen.
Är det mera komplexa kompileringar man ska göra så skriver man makefiler istället som är som en batchfil som utför alla nödvändiga kommandon.
I de flesta *nix så kan exekverbara filer ha nästan vilka namn som helst, men förhoppningsvis så lär sig fler och fler att använda namnkonventioner istället för att låta den gamla *nix-anarkin råda.
a.exe däremot är däremot avsett att köras på Windows-maskiner, Äldre varianter av *.exe-filer var DOS-kompatibla, och kunde köras i DOS-läge, dvs utan grafiska egenskaper